http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46165
--- Comment #9 from Zdenek Sojka <zsojka at seznam dot cz> 2010-11-12 14:09:39 UTC --- trunk r166509 compiles fine, even with -fno-tree-fre -fno-tree-pre: $ gcc -O -fno-tree-ccp -fno-tree-copy-prop -fno-tree-dce -fno-tree-fre -fno-tree-pre pr46165.c -c with yes,rtl,df checking as well. I don't have 4.5 >=r166616 to test. For 4.4, it seems -O -fno-tree-ccp is enough: $ gcc -O -fno-tree-ccp pr46165.c pr46165.c: In function 'g': pr46165.c:2: error: control flow in the middle of basic block 2 pr46165.c:2: 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=0xf53740 "control flow in the middle of basic block %d") at /mnt/svn/gcc-4_4/gcc/diagnostic.c:591 #1 0x00000000007c33c4 in gimple_verify_flow_info () at /mnt/svn/gcc-4_4/gcc/tree-cfg.c:4398 #2 0x00000000004dd0d2 in verify_flow_info () at /mnt/svn/gcc-4_4/gcc/cfghooks.c:257 #3 0x00000000007c92a8 in cleanup_tree_cfg_noloop () at /mnt/svn/gcc-4_4/gcc/tree-cfgcleanup.c:661 #4 cleanup_tree_cfg () at /mnt/svn/gcc-4_4/gcc/tree-cfgcleanup.c:701 #5 0x0000000000800eae in execute_cleanup_cfg_post_optimizing () at /mnt/svn/gcc-4_4/gcc/tree-optimize.c:194 #6 0x00000000006c56fd in execute_one_pass (pass=0x1392f20) at /mnt/svn/gcc-4_4/gcc/passes.c:1277 #7 0x00000000006c5935 in execute_pass_list (pass=0x1392f20) at /mnt/svn/gcc-4_4/gcc/passes.c:1326 #8 0x0000000000800f4c in tree_rest_of_compilation (fndecl=0x7ffff60e7d00) at /mnt/svn/gcc-4_4/gcc/tree-optimize.c:420 #9 0x000000000098b264 in cgraph_expand_function (node=0x7ffff60e7e00) at /mnt/svn/gcc-4_4/gcc/cgraphunit.c:1047 #10 0x000000000098cd25 in cgraph_expand_all_functions () at /mnt/svn/gcc-4_4/gcc/cgraphunit.c:1106 #11 cgraph_optimize () at /mnt/svn/gcc-4_4/gcc/cgraphunit.c:1310 #12 0x0000000000417103 in c_write_global_declarations () at /mnt/svn/gcc-4_4/gcc/c-decl.c:8118 #13 0x00000000007b309c in compile_file (argc=<value optimized out>, argv=<value optimized out>) at /mnt/svn/gcc-4_4/gcc/toplev.c:981 #14 do_compile (argc=<value optimized out>, argv=<value optimized out>) at /mnt/svn/gcc-4_4/gcc/toplev.c:2197 #15 toplev_main (argc=<value optimized out>, argv=<value optimized out>) at /mnt/svn/gcc-4_4/gcc/toplev.c:2229 #16 0x00007ffff6991bbd in __libc_start_main () from /lib/libc.so.6 #17 0x0000000000405299 in _start ()