diff options
author | Jakub Jelinek <jakub@redhat.com> | 2017-10-19 14:09:52 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2017-10-19 14:09:52 +0200 |
commit | 07d7c611fc0c4be0a0be935efe97a7887e78bc2a (patch) | |
tree | def604d8db44c55f5de1bb611ed83a32c753321d /gcc/opts.c | |
parent | 5d3805fca3e9a199fbaa18aee3c05ecb30ebca61 (diff) | |
download | gcc-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.c | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -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 } |