summaryrefslogtreecommitdiff
path: root/gcc/sanitizer.def
diff options
context:
space:
mode:
authorMarek Polacek <polacek@redhat.com>2014-11-14 11:22:12 +0000
committerMarek Polacek <mpolacek@gcc.gnu.org>2014-11-14 11:22:12 +0000
commit4088b790cc40b0fbcf12bafd1e3ef822c976a702 (patch)
treef5208d057eaf4ec81d4adff4f52bce7cd091e6de /gcc/sanitizer.def
parentba067536a7c03b18bb8dcb5bdf3126d2997dafda (diff)
downloadgcc-4088b790cc40b0fbcf12bafd1e3ef822c976a702.tar.gz
re PR sanitizer/63839 (ICE: tree check: expected ssa_name, have var_decl in simplify_builtin_call, at tree-ssa-forwprop.c:1441 with -fsanitize=unreachable)
PR sanitizer/63839 * asan.c (ATTR_CONST_NORETURN_NOTHROW_LEAF_LIST, ATTR_COLD_CONST_NORETURN_NOTHROW_LEAF_LIST): Define. * builtin-attrs.def (ATTR_COLD_CONST_NORETURN_NOTHROW_LEAF_LIST): Define. * builtins.c (fold_builtin_0): Don't include ubsan.h. Don't instrument BUILT_IN_UNREACHABLE here. * sanitizer.def (BUILT_IN_UBSAN_HANDLE_BUILTIN_UNREACHABLE): Make const. * sanopt.c (pass_sanopt::execute): Instrument BUILT_IN_UNREACHABLE. * tree-ssa-ccp.c (optimize_unreachable): Bail out if SANITIZE_UNREACHABLE. * ubsan.c (ubsan_instrument_unreachable): Rewrite for GIMPLE. * ubsan.h (ubsan_instrument_unreachable): Adjust declaration. testsuite/ * c-c++-common/ubsan/pr63839.c: New test. * c-c++-common/ubsan/unreachable-2.c: New test. From-SVN: r217553
Diffstat (limited to 'gcc/sanitizer.def')
-rw-r--r--gcc/sanitizer.def2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/sanitizer.def b/gcc/sanitizer.def
index cddc5ea4935..3fc8c8396be 100644
--- a/gcc/sanitizer.def
+++ b/gcc/sanitizer.def
@@ -394,7 +394,7 @@ DEF_SANITIZER_BUILTIN(BUILT_IN_UBSAN_HANDLE_SHIFT_OUT_OF_BOUNDS,
DEF_SANITIZER_BUILTIN(BUILT_IN_UBSAN_HANDLE_BUILTIN_UNREACHABLE,
"__ubsan_handle_builtin_unreachable",
BT_FN_VOID_PTR,
- ATTR_COLD_NORETURN_NOTHROW_LEAF_LIST)
+ ATTR_COLD_CONST_NORETURN_NOTHROW_LEAF_LIST)
DEF_SANITIZER_BUILTIN(BUILT_IN_UBSAN_HANDLE_MISSING_RETURN,
"__ubsan_handle_missing_return",
BT_FN_VOID_PTR,