http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55309



--- Comment #19 from Richard Biener <rguenth at gcc dot gnu.org> 2013-02-06 
12:39:21 UTC ---

(In reply to comment #17)

> Trying this patch: 

> % cat inc.cc

> void foo(int *a) {

>   (*a)++;

> }

> % gcc -fsanitize=address -O2 inc.cc -S -o - | grep __asan_report

>         call    __asan_report_load4

>         call    __asan_report_store4

> % clang -fsanitize=address -O2 inc.cc -S -o - | grep __asan_report 

>         callq   __asan_report_load4

> % 



The clang variant looks incorrect to me - if asan distinguishes between

loads and stores the __asan_report_load4 should have been promoted to

a __asan_report_store4.  Consider a pointing to read-only memory.

Or rather asan would need a __asan_report_load_store4 to be really correct.



> Is this test expected to work (have one __asan_error call) with this patch?

> 

> (I've checked that the patch is applied correctly, on 

> gcc/testsuite/c-c++-common/asan/no-redundant-instrumentation-1.c 

> it reduces the number of calls from 16 to 5)

Reply via email to