-
- Downloads
ubsan: -Wreturn-type and ubsan trap-on-error
I noticed that -fsanitize=undefined -fsanitize-undefined-trap-on-error was omitting the usual -Wreturn-type warning for control flowing off the end of a function. This was because the warning code was looking for calls either to __builtin_unreachable or the UBSan function, but these flags produce a call to __builtin_trap instead. gcc/c-family/ChangeLog: * c-ubsan.cc (ubsan_instrument_return): Use BUILTINS_LOCATION. gcc/ChangeLog: * tree-cfg.cc (pass_warn_function_return::execute): Also check BUILT_IN_TRAP. gcc/testsuite/ChangeLog: * g++.dg/ubsan/return-8.C: New test.
Loading
Please register or sign in to comment