aboutsummaryrefslogtreecommitdiff
path: root/gcc/asan.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2014-09-18 16:08:28 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2014-09-18 16:08:28 +0200
commite1e160c11fcc059556449e5440d99b904b9a9e6f (patch)
tree918f44fd2c68327d746f376a8de598cc96e8b22e /gcc/asan.c
parentc8f298736d9cf59b6908fc57128a193124e52401 (diff)
downloadgcc-e1e160c11fcc059556449e5440d99b904b9a9e6f.zip
gcc-e1e160c11fcc059556449e5440d99b904b9a9e6f.tar.gz
gcc-e1e160c11fcc059556449e5440d99b904b9a9e6f.tar.bz2
re PR c++/62017 (AddressSanitizer reports *-buffer-overflow in destructor when multiple virtual inheritance is used)
PR c++/62017 * asan.c (transform_statements): Don't instrument clobber statements. * g++.dg/asan/pr62017.C: New test. From-SVN: r215354
Diffstat (limited to 'gcc/asan.c')
-rw-r--r--gcc/asan.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/asan.c b/gcc/asan.c
index cf5de27..6ff85bb 100644
--- a/gcc/asan.c
+++ b/gcc/asan.c
@@ -2072,6 +2072,7 @@ transform_statements (void)
if (has_stmt_been_instrumented_p (s))
gsi_next (&i);
else if (gimple_assign_single_p (s)
+ && !gimple_clobber_p (s)
&& maybe_instrument_assignment (&i))
/* Nothing to do as maybe_instrument_assignment advanced
the iterator I. */;