aboutsummaryrefslogtreecommitdiff
path: root/gcc/cfgloop.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2013-02-16 10:32:56 +0100
committerDodji Seketeli <dodji@gcc.gnu.org>2013-02-16 10:32:56 +0100
commitb41288b3a57a382c7e06ef0f847584f06583ceb4 (patch)
tree8d20d0d3ec1ed8a33b52873e900b4acbeff14e5c /gcc/cfgloop.c
parent4d0648ac8ff3df5e4525fe8da00906493742c72c (diff)
downloadgcc-b41288b3a57a382c7e06ef0f847584f06583ceb4.zip
gcc-b41288b3a57a382c7e06ef0f847584f06583ceb4.tar.gz
gcc-b41288b3a57a382c7e06ef0f847584f06583ceb4.tar.bz2
[asan] Fix for PR asan/56330
gcc/ * asan.c (get_mem_refs_of_builtin_call): White space and style cleanup. (instrument_mem_region_access): Do not forget to always put instrumentation of the of 'base' and 'base + len' in a "if (len != 0) statement, even for cases where either 'base' or 'base + len' are not instrumented -- because they have been previously instrumented. Simplify the logic by putting all the statements instrument 'base + len' inside a sequence, and then insert that sequence right before the current insertion point. Then, to instrument 'base + len', just get an iterator on that statement. And do not forget to update the pointer to iterator the function received as argument. gcc/testsuite/ * c-c++-common/asan/no-redundant-instrumentation-4.c: New test file. * c-c++-common/asan/no-redundant-instrumentation-5.c: Likewise. * c-c++-common/asan/no-redundant-instrumentation-6.c: Likewise. * c-c++-common/asan/no-redundant-instrumentation-7.c: Likewise. * c-c++-common/asan/no-redundant-instrumentation-8.c: Likewise. * c-c++-common/asan/pr56330.c: Likewise. * c-c++-common/asan/no-redundant-instrumentation-1.c (test1): Ensure the size argument of __builtin_memcpy is a constant. Co-Authored-By: Dodji Seketeli <dodji@redhat.com> From-SVN: r196102
Diffstat (limited to 'gcc/cfgloop.c')
0 files changed, 0 insertions, 0 deletions