diff options
author | Martin Liska <mliska@suse.cz> | 2017-03-09 11:04:50 +0100 |
---|---|---|
committer | Martin Liska <marxin@gcc.gnu.org> | 2017-03-09 10:04:50 +0000 |
commit | 3828bb0d7ed18e03d0794c0a38a51d155421559c (patch) | |
tree | 575b01bb27c1e7c07555d84dff66757d77c3412c | |
parent | 410a590c2a718861487e2fc354da02c1394bbcb1 (diff) | |
download | gcc-3828bb0d7ed18e03d0794c0a38a51d155421559c.zip gcc-3828bb0d7ed18e03d0794c0a38a51d155421559c.tar.gz gcc-3828bb0d7ed18e03d0794c0a38a51d155421559c.tar.bz2 |
Disable -fcheck-pointer-bounds with sanitizers.
2017-03-09 Martin Liska <mliska@suse.cz>
PR target/65705
PR target/69804
* toplev.c (process_options): Disable -fcheck-pointer-bounds with
sanitizers.
2017-03-09 Martin Liska <mliska@suse.cz>
PR target/65705
PR target/69804
* gcc.target/i386/pr71458.c: Update scanned pattern.
From-SVN: r245997
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/pr71458.c | 2 | ||||
-rw-r--r-- | gcc/toplev.c | 32 |
4 files changed, 34 insertions, 13 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 006052b..33670ab 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2017-03-09 Martin Liska <mliska@suse.cz> + + PR target/65705 + PR target/69804 + * toplev.c (process_options): Disable -fcheck-pointer-bounds with + sanitizers. + 2017-03-09 Marek Polacek <polacek@redhat.com> PR c++/79672 diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 840eb1d..e31735b 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2017-03-09 Martin Liska <mliska@suse.cz> + + PR target/65705 + PR target/69804 + * gcc.target/i386/pr71458.c: Update scanned pattern. + 2017-03-09 Marek Polacek <polacek@redhat.com> PR c++/79672 diff --git a/gcc/testsuite/gcc.target/i386/pr71458.c b/gcc/testsuite/gcc.target/i386/pr71458.c index 27e7764..2faf6bb 100644 --- a/gcc/testsuite/gcc.target/i386/pr71458.c +++ b/gcc/testsuite/gcc.target/i386/pr71458.c @@ -1,6 +1,6 @@ /* { dg-do compile { target { ! x32 } } } */ /* { dg-options "-fcheck-pointer-bounds -mmpx -fsanitize=bounds" } */ -/* { dg-error "-fcheck-pointer-bounds is not supported with -fsanitize=bounds" "" { target *-*-* } 0 } */ +/* { dg-error "-fcheck-pointer-bounds is not supported with Undefined Behavior Sanitizer" "" { target *-*-* } 0 } */ enum {} a[0]; void fn1(int); diff --git a/gcc/toplev.c b/gcc/toplev.c index beb581a..6a7e4fb 100644 --- a/gcc/toplev.c +++ b/gcc/toplev.c @@ -1274,22 +1274,30 @@ process_options (void) flag_check_pointer_bounds = 0; } - if (flag_sanitize & SANITIZE_ADDRESS) + if (flag_sanitize) { - error_at (UNKNOWN_LOCATION, - "-fcheck-pointer-bounds is not supported with " - "Address Sanitizer"); - flag_check_pointer_bounds = 0; - } + if (flag_sanitize & SANITIZE_ADDRESS) + error_at (UNKNOWN_LOCATION, + "-fcheck-pointer-bounds is not supported with " + "Address Sanitizer"); + + if (flag_sanitize & (SANITIZE_UNDEFINED | SANITIZE_NONDEFAULT)) + error_at (UNKNOWN_LOCATION, + "-fcheck-pointer-bounds is not supported with " + "Undefined Behavior Sanitizer"); + + if (flag_sanitize & SANITIZE_LEAK) + error_at (UNKNOWN_LOCATION, + "-fcheck-pointer-bounds is not supported with " + "Leak Sanitizer"); + + if (flag_sanitize & SANITIZE_THREAD) + error_at (UNKNOWN_LOCATION, + "-fcheck-pointer-bounds is not supported with " + "Thread Sanitizer"); - if (flag_sanitize & SANITIZE_BOUNDS) - { - error_at (UNKNOWN_LOCATION, - "-fcheck-pointer-bounds is not supported with " - "-fsanitize=bounds"); flag_check_pointer_bounds = 0; } - } /* One region RA really helps to decrease the code size. */ |