This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/46165] [4.3/4.4 Regression] ICE: verify_flow_info failed when casting-out attribute noreturn with -fno-tree-ccp -fno-tree-copy-prop -fno-tree-dce
- From: "zsojka at seznam dot cz" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Mon, 15 Nov 2010 21:32:45 +0000
- Subject: [Bug tree-optimization/46165] [4.3/4.4 Regression] ICE: verify_flow_info failed when casting-out attribute noreturn with -fno-tree-ccp -fno-tree-copy-prop -fno-tree-dce
- Auto-submitted: auto-generated
- References: <bug-46165-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46165
--- Comment #10 from Zdenek Sojka <zsojka at seznam dot cz> 2010-11-15 21:29:21 UTC ---
Actually, it crashes in trunk r166763 as well, it needs -ftree-vrp:
$ gcc -O -fno-tree-ccp -fno-tree-fre -ftree-vrp pr46165.i
/mnt/svn/gcc-trunk/gcc/testsuite/gcc.dg/pr46165.c: In function 'g':
/mnt/svn/gcc-trunk/gcc/testsuite/gcc.dg/pr46165.c:7:1: error: control flow in
the middle of basic block 2
/mnt/svn/gcc-trunk/gcc/testsuite/gcc.dg/pr46165.c:7:1: internal compiler error:
verify_flow_info failed
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
(gdb) bt
#0 error (gmsgid=0x1140fa8 "control flow in the middle of basic block %d") at
/mnt/svn/gcc-trunk/gcc/diagnostic.c:747
#1 0x00000000008b599c in gimple_verify_flow_info () at
/mnt/svn/gcc-trunk/gcc/tree-cfg.c:4513
#2 0x00000000005b64d4 in verify_flow_info () at
/mnt/svn/gcc-trunk/gcc/cfghooks.c:257
#3 0x0000000000a15a79 in execute_vrp () at
/mnt/svn/gcc-trunk/gcc/tree-vrp.c:7742
#4 0x00000000007bca0f in execute_one_pass (pass=0x15f7600) at
/mnt/svn/gcc-trunk/gcc/passes.c:1560
#5 0x00000000007bccd5 in execute_pass_list (pass=0x15f7600) at
/mnt/svn/gcc-trunk/gcc/passes.c:1615
#6 0x00000000007bcce7 in execute_pass_list (pass=0x15f5da0) at
/mnt/svn/gcc-trunk/gcc/passes.c:1616
#7 0x0000000000900886 in tree_rest_of_compilation (fndecl=0x7ffff5cd2000) at
/mnt/svn/gcc-trunk/gcc/tree-optimize.c:422
#8 0x0000000000ac8414 in cgraph_expand_function (node=0x7ffff5cd6000) at
/mnt/svn/gcc-trunk/gcc/cgraphunit.c:1492
#9 0x0000000000aca9ca in cgraph_expand_all_functions () at
/mnt/svn/gcc-trunk/gcc/cgraphunit.c:1551
#10 cgraph_optimize () at /mnt/svn/gcc-trunk/gcc/cgraphunit.c:1807
#11 0x0000000000acaf2a in cgraph_finalize_compilation_unit () at
/mnt/svn/gcc-trunk/gcc/cgraphunit.c:1015
#12 0x00000000004d7d8c in c_write_global_declarations () at
/mnt/svn/gcc-trunk/gcc/c-decl.c:9837
#13 0x00000000008a9406 in compile_file (argc=6, argv=0x7fffffffde88) at
/mnt/svn/gcc-trunk/gcc/toplev.c:885
#14 do_compile (argc=6, argv=0x7fffffffde88) at
/mnt/svn/gcc-trunk/gcc/toplev.c:2313
#15 toplev_main (argc=6, argv=0x7fffffffde88) at
/mnt/svn/gcc-trunk/gcc/toplev.c:2374
#16 0x00007ffff6579bbd in __libc_start_main () from /lib/libc.so.6
#17 0x00000000004be7fd in _start ()
That's with yes,rtl,df checking - but it seems it crashes just with regular
checking as well - verify_flow_info() is guarded by #ifdef ENABLE_CHECKING.