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.