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

Reply via email to