http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51012
Bug #: 51012 Summary: [4.7 Regression] ICE: in fold_convert_loc, at fold-const.c:1897 with -fno-early-inlining and passing incompatible function ptr Classification: Unclassified Product: gcc Version: 4.7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization AssignedTo: unassig...@gcc.gnu.org ReportedBy: zso...@seznam.cz CC: rgue...@gcc.gnu.org Host: x86_64-pc-linux-gnu Target: x86_64-pc-linux-gnu Created attachment 25742 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25742 reduced testcase This is very similiar to PR50890, actually the testcase was reduced from testsuite/gcc.dg/torture/pr50890.c Compiler output: $ gcc -O2 -fno-early-inlining testcase.c testcase.c: In function 'foo': testcase.c:9:3: internal compiler error: in fold_convert_loc, at fold-const.c:1897 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=0x122c488 "/mnt/svn/gcc-trunk/gcc/fold-const.c", line=1894, function=0x122b500 "fold_convert_loc") at /mnt/svn/gcc-trunk/gcc/diagnostic.c:898 #1 0x00000000007a602b in fold_convert_loc (loc=0, type=0x7ffff55915e8, arg=Unhandled dwarf expression opcode 0xf3 ) at /mnt/svn/gcc-trunk/gcc/fold-const.c:1893 #2 0x0000000000a09879 in declare_return_variable (fn=0x7ffff56a1200) at /mnt/svn/gcc-trunk/gcc/tree-inline.c:2909 #3 expand_call_inline (fn=0x7ffff56a1200) at /mnt/svn/gcc-trunk/gcc/tree-inline.c:3927 #4 gimple_expand_calls_inline (fn=0x7ffff56a1200) at /mnt/svn/gcc-trunk/gcc/tree-inline.c:4058 #5 optimize_inline_calls (fn=0x7ffff56a1200) at /mnt/svn/gcc-trunk/gcc/tree-inline.c:4218 #6 0x0000000001103cab in inline_transform (node=0x7ffff5588900) at /mnt/svn/gcc-trunk/gcc/ipa-inline-transform.c:369 #7 0x00000000008d4531 in execute_one_ipa_transform_pass () at /mnt/svn/gcc-trunk/gcc/passes.c:1912 #8 execute_all_ipa_transforms () at /mnt/svn/gcc-trunk/gcc/passes.c:1947 #9 0x0000000000a29aa5 in tree_rest_of_compilation (fndecl=0x7ffff56a1200) at /mnt/svn/gcc-trunk/gcc/tree-optimize.c:413 #10 0x000000000068d13a in cgraph_expand_function (node=0x7ffff5588900) at /mnt/svn/gcc-trunk/gcc/cgraphunit.c:1819 #11 0x000000000068f0bc in cgraph_expand_all_functions () at /mnt/svn/gcc-trunk/gcc/cgraphunit.c:1886 #12 cgraph_optimize () at /mnt/svn/gcc-trunk/gcc/cgraphunit.c:2197 #13 0x000000000068f5ba in cgraph_finalize_compilation_unit () at /mnt/svn/gcc-trunk/gcc/cgraphunit.c:1327 #14 0x000000000057575b in c_write_global_declarations () at /mnt/svn/gcc-trunk/gcc/c-decl.c:9940 #15 0x00000000009c8984 in compile_file (argc=14, argv=0x7fffffffdad8) at /mnt/svn/gcc-trunk/gcc/toplev.c:581 #16 do_compile (argc=14, argv=0x7fffffffdad8) at /mnt/svn/gcc-trunk/gcc/toplev.c:1930 #17 toplev_main (argc=14, argv=0x7fffffffdad8) at /mnt/svn/gcc-trunk/gcc/toplev.c:2006 #18 0x00007ffff6178d2d in __libc_start_main () from /lib64/libc.so.6 #19 0x0000000000559339 in _start () Tested revisions: r181026 - crash r178498 - crash 4.6 r180325 - OK