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



--- Comment #6 from Markus Trippelsdorf <markus at trippelsdorf dot de> 
2012-11-28 08:51:26 UTC ---

Created attachment 28818

  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=28818

stl benchmark



The last issue can be reproduced with an old C++ STL benchmark

from Stepanov and Stroustrup (attached):



markus@x4 ~ % /var/tmp/gcc_valgrind/usr/local/bin/g++ -O2 -fprofile-generate

bench.cpp

markus@x4 ~ % ./a.out

size            array   vector with pointers    vector with iterators   deque  

list            set             multiset

10              0.18            0.18            0.19            0.44           

1.08            0.67            1.08

...

markus@x4 ~ % /var/tmp/gcc_valgrind/usr/local/bin/g++ -O2 -fprofile-use -flto

bench.cpp

==22679== Invalid write of size 8

==22679==    at 0x68007D: iterative_hash_canonical_type(tree_node*, unsigned

int) (gimple.c:3170)

==22679==    by 0xD611C0: htab_find_slot (hashtab.c:712)

==22679==    by 0x68A918: gimple_register_canonical_type(tree_node*)

(gimple.c:3438)

==22679==    by 0x4D093B: lto_file_read(lto_file_struct*, _IO_FILE*, int*)

(lto.c:2050)

==22679==    by 0x4D25EA: lto_main() (lto.c:2966)

==22679==    by 0x82A5B5: compile_file() (toplev.c:545)

==22679==    by 0x82C4D9: toplev_main(int, char**) (toplev.c:1884)

==22679==    by 0x4ECD884: (below main) (libc-start.c:258)

==22679==  Address 0x4031e98 is not stack'd, malloc'd or (recently) free'd

==22679==

Reply via email to