aboutsummaryrefslogtreecommitdiff
path: root/gcc/opts.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2017-10-19 14:09:52 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2017-10-19 14:09:52 +0200
commit07d7c611fc0c4be0a0be935efe97a7887e78bc2a (patch)
treedef604d8db44c55f5de1bb611ed83a32c753321d /gcc/opts.c
parent5d3805fca3e9a199fbaa18aee3c05ecb30ebca61 (diff)
downloadgcc-07d7c611fc0c4be0a0be935efe97a7887e78bc2a.zip
gcc-07d7c611fc0c4be0a0be935efe97a7887e78bc2a.tar.gz
gcc-07d7c611fc0c4be0a0be935efe97a7887e78bc2a.tar.bz2
flag-types.h (enum sanitize_code): Add SANITIZE_BUILTIN.
* flag-types.h (enum sanitize_code): Add SANITIZE_BUILTIN. Or SANITIZE_BUILTIN into SANITIZE_UNDEFINED. * sanitizer.def (BUILT_IN_UBSAN_HANDLE_INVALID_BUILTIN, BUILT_IN_UBSAN_HANDLE_INVALID_BUILTIN_ABORT): New builtins. * opts.c (sanitizer_opts): Add builtin. * ubsan.c (instrument_builtin): New function. (pass_ubsan::execute): Call it. (pass_ubsan::gate): Enable even for SANITIZE_BUILTIN. * doc/invoke.texi: Document -fsanitize=builtin. * c-c++-common/ubsan/builtin-1.c: New test. From-SVN: r253888
Diffstat (limited to 'gcc/opts.c')
-rw-r--r--gcc/opts.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/opts.c b/gcc/opts.c
index adf3d89..ee95c84 100644
--- a/gcc/opts.c
+++ b/gcc/opts.c
@@ -1521,6 +1521,7 @@ const struct sanitizer_opts_s sanitizer_opts[] =
SANITIZER_OPT (object-size, SANITIZE_OBJECT_SIZE, true),
SANITIZER_OPT (vptr, SANITIZE_VPTR, true),
SANITIZER_OPT (pointer-overflow, SANITIZE_POINTER_OVERFLOW, true),
+ SANITIZER_OPT (builtin, SANITIZE_BUILTIN, true),
SANITIZER_OPT (all, ~0U, true),
#undef SANITIZER_OPT
{ NULL, 0U, 0UL, false }