Command line: $ g++ -O2 -fipa-cp-clone -ftracer testcase.C Valgrind output: $ valgrind -q --trace-children=yes /mnt/svn/gcc-trunk/binary-163468-lto-fortran-checking-yes-rtl-df/bin/g++ -O2 -fipa-cp-clone -ftracer testcase.C ==31083== Invalid read of size 8 ==31083== at 0x112BDF0: search_line_sse2 (lex.c:384) ==31083== by 0x112BFD9: _cpp_clean_line (lex.c:649) ==31083== by 0x112C9D7: _cpp_get_fresh_line (lex.c:1862) ==31083== by 0x112E161: _cpp_lex_direct (lex.c:1927) ==31083== by 0x112EF56: _cpp_lex_token (lex.c:1801) ==31083== by 0x1131697: cpp_get_token (macro.c:1240) ==31083== by 0x113194F: cpp_get_token_with_location (macro.c:1352) ==31083== by 0x687E5C: c_lex_with_flags (c-lex.c:302) ==31083== by 0x59ADAF: cp_lexer_get_preprocessor_token (parser.c:525) ==31083== by 0x5C19BA: c_parse_file (parser.c:425) ==31083== by 0x68D4EA: c_common_parse_file (c-opts.c:1206) ==31083== by 0x9E7518: toplev_main (toplev.c:971) ==31083== Address 0x71085b8 is 216 bytes inside a block of size 217 alloc'd ==31083== at 0x4C261DF: realloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==31083== by 0x115545C: xrealloc (xmalloc.c:179) ==31083== by 0x1120BAF: _cpp_convert_input (charset.c:1734) ==31083== by 0x1129542: read_file (files.c:648) ==31083== by 0x1129F6A: _cpp_stack_file (files.c:723) ==31083== by 0x112B850: cpp_read_main_file (init.c:570) ==31083== by 0x68CB9A: c_common_post_options (c-opts.c:1124) ==31083== by 0x9E6A14: toplev_main (toplev.c:1743) ==31083== by 0x6589BBC: (below main) (in /lib64/libc-2.11.2.so) ==31083== ==31083== Invalid read of size 8 ==31083== at 0x112BDE3: search_line_sse2 (lex.c:372) ==31083== by 0x112BFD9: _cpp_clean_line (lex.c:649) ==31083== by 0x112C9D7: _cpp_get_fresh_line (lex.c:1862) ==31083== by 0x112E161: _cpp_lex_direct (lex.c:1927) ==31083== by 0x112EF56: _cpp_lex_token (lex.c:1801) ==31083== by 0x1131697: cpp_get_token (macro.c:1240) ==31083== by 0x113194F: cpp_get_token_with_location (macro.c:1352) ==31083== by 0x687E5C: c_lex_with_flags (c-lex.c:302) ==31083== by 0x59ADAF: cp_lexer_get_preprocessor_token (parser.c:525) ==31083== by 0x5C19BA: c_parse_file (parser.c:425) ==31083== by 0x68D4EA: c_common_parse_file (c-opts.c:1206) ==31083== by 0x9E7518: toplev_main (toplev.c:971) ==31083== Address 0x71085b8 is 216 bytes inside a block of size 217 alloc'd ==31083== at 0x4C261DF: realloc (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so) ==31083== by 0x115545C: xrealloc (xmalloc.c:179) ==31083== by 0x1120BAF: _cpp_convert_input (charset.c:1734) ==31083== by 0x1129542: read_file (files.c:648) ==31083== by 0x1129F6A: _cpp_stack_file (files.c:723) ==31083== by 0x112B850: cpp_read_main_file (init.c:570) ==31083== by 0x68CB9A: c_common_post_options (c-opts.c:1124) ==31083== by 0x9E6A14: toplev_main (toplev.c:1743) ==31083== by 0x6589BBC: (below main) (in /lib64/libc-2.11.2.so) ==31083== ==31083== Invalid read of size 8 ==31083== at 0xA2CDE5: update_ssa (tree-flow-inline.h:479) ==31083== by 0x8F95D7: execute_function_todo (passes.c:1206) ==31083== by 0x8F9BEE: execute_todo (passes.c:1283) ==31083== by 0x8FC2B9: execute_one_pass (passes.c:1591) ==31083== by 0x8FC4E4: execute_pass_list (passes.c:1623) ==31083== by 0x8FC4F6: execute_pass_list (passes.c:1624) ==31083== by 0xA3EE65: tree_rest_of_compilation (tree-optimize.c:452) ==31083== by 0xBFB595: cgraph_expand_function (cgraphunit.c:1469) ==31083== by 0xBFDF99: cgraph_optimize (cgraphunit.c:1548) ==31083== by 0xBFE4E9: cgraph_finalize_compilation_unit (cgraphunit.c:1012) ==31083== by 0x58BD9C: cp_write_global_declarations (decl2.c:3924) ==31083== by 0x9E7554: toplev_main (toplev.c:983) ==31083== Address 0x0 is not stack'd, malloc'd or (recently) free'd ==31083== testcase.C: In member function 'virtual int S::vm()': testcase.C:11:1: internal compiler error: Segmentation fault Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions.
Tested revisions: r163468 - crash r162940 - crash r161659 - OK -- Summary: [4.6 Regression] ICE: SIGSEGV in update_ssa (tree-flow- inline.h:479) with -O2 -fipa-cp-clone -ftracer Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: zsojka at seznam dot cz GCC host triplet: x86_64-pc-linux-gnu GCC target triplet: x86_64-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45412