[Bug tree-optimization/51903] New: [4.7 Regression] ICE: in gimple_purge_all_dead_eh_edges, at tree-cfg.c:7196 with -fnon-call-exceptions

zsojka at seznam dot cz gcc-bugzilla@gcc.gnu.org
Thu Jan 19 15:07:00 GMT 2012


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

             Bug #: 51903
           Summary: [4.7 Regression] ICE: in
                    gimple_purge_all_dead_eh_edges, at tree-cfg.c:7196
                    with -fnon-call-exceptions
    Classification: Unclassified
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: zsojka@seznam.cz
              Host: x86_64-pc-linux-gnu
            Target: x86_64-pc-linux-gnu


Created attachment 26381
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=26381
autoreduced testcase

Compiler output:
$ g++ -O2 -fno-guess-branch-probability -fnon-call-exceptions testcase.C
testcase.C: In function 'void foo()':
testcase.C:194:6: internal compiler error: in gimple_purge_all_dead_eh_edges,
at tree-cfg.c:7196
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.

(gdb) bt
#0  fancy_abort (file=0x1457590 "/mnt/svn/gcc-trunk/gcc/tree-cfg.c", line=7196,
function=0x145b1d0 "gimple_purge_all_dead_eh_edges")
    at /mnt/svn/gcc-trunk/gcc/diagnostic.c:898
#1  0x0000000000ba2da5 in gimple_purge_all_dead_eh_edges (blocks=<optimized
out>) at /mnt/svn/gcc-trunk/gcc/tree-cfg.c:7196
#2  0x0000000000ca0dca in fini_pre (do_fre=true) at
/mnt/svn/gcc-trunk/gcc/tree-ssa-pre.c:4837
#3  execute_pre (do_fre=true) at /mnt/svn/gcc-trunk/gcc/tree-ssa-pre.c:4931
#4  execute_pre (do_fre=true) at /mnt/svn/gcc-trunk/gcc/tree-ssa-pre.c:4859
#5  0x0000000000a8b505 in execute_one_pass (pass=0x1b21a20) at
/mnt/svn/gcc-trunk/gcc/passes.c:2081
#6  0x0000000000a8b8c5 in execute_pass_list (pass=0x1b21a20) at
/mnt/svn/gcc-trunk/gcc/passes.c:2136
#7  0x0000000000a8b8d7 in execute_pass_list (pass=0x1995d40) at
/mnt/svn/gcc-trunk/gcc/passes.c:2137
#8  0x0000000000bed99e in tree_rest_of_compilation (fndecl=0x7ffff5c2a000) at
/mnt/svn/gcc-trunk/gcc/tree-optimize.c:420
#9  0x0000000000840bba in cgraph_expand_function (node=0x7ffff5a96b40) at
/mnt/svn/gcc-trunk/gcc/cgraphunit.c:1818
#10 0x0000000000842a8c in cgraph_expand_all_functions () at
/mnt/svn/gcc-trunk/gcc/cgraphunit.c:1885
#11 cgraph_optimize () at /mnt/svn/gcc-trunk/gcc/cgraphunit.c:2199
#12 0x00000000008430ea in cgraph_finalize_compilation_unit () at
/mnt/svn/gcc-trunk/gcc/cgraphunit.c:1327
#13 0x0000000000661823 in cp_write_global_declarations () at
/mnt/svn/gcc-trunk/gcc/cp/decl2.c:4051
#14 0x0000000000b8049c in compile_file () at
/mnt/svn/gcc-trunk/gcc/toplev.c:573
#15 do_compile () at /mnt/svn/gcc-trunk/gcc/toplev.c:1938
#16 toplev_main (argc=16, argv=0x7fffffffd818) at
/mnt/svn/gcc-trunk/gcc/toplev.c:2014
#17 0x00007ffff61cc09d in __libc_start_main () from /lib64/libc.so.6
#18 0x0000000000585bc1 in _start ()


Nonreduced testcase:
#include <vector>
void foo ()
{
  std::vector < std::vector< int > >(20000);
}

Tested revisions:
r183298 - crash
r183120 - crash
r182547 - OK



More information about the Gcc-bugs mailing list