[Bug middle-end/33029] [4.3 Regression] libgcc2.c:1890: internal compiler error: in local_cprop_pass, at gcse.c:3236

steven at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Thu Aug 16 14:35:00 GMT 2007



------- Comment #5 from steven at gcc dot gnu dot org  2007-08-16 14:35 -------
Starting program: /home/steven/devel/build-test/gcc/cc1 -g -O2 -fPIC -Dpa64=1
-mlong-calls -fkeep-inline-functions libgcc2.i
 __multc3
Analyzing compilation unit
Performing interprocedural optimizations
 <visibility> <early_local_cleanups> <inline> <static-var> <pure-const>
<type-escape-var>Assembling functions:
 __multc3
Breakpoint 1, fancy_abort (file=0xcdbc31 "../../trunk/gcc/gcse.c", line=3236,
    function=0xcdc050 "local_cprop_pass") at ../../trunk/gcc/diagnostic.c:655
655       internal_error ("in %s, at %s:%d", function, trim_filename (file),
line);
(gdb) up
#1  0x00000000006dcd3a in local_cprop_pass (alter_jumps=1 '\001')
    at ../../trunk/gcc/gcse.c:3236
3236          gcc_assert (libcall_sp == &libcall_stack[MAX_NESTED_LIBCALLS]);
(gdb) l
3231            }
3232
3233          /* Forget everything at the end of a basic block.  Make sure we
are
3234             not inside a libcall, they should never cross basic blocks. 
*/
3235          cselib_clear_table ();
3236          gcc_assert (libcall_sp == &libcall_stack[MAX_NESTED_LIBCALLS]);
3237        }
3238
3239      cselib_finish ();
3240
(gdb)    

Definitely a problem with the nested libcalls handling.


-- 

steven at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2007-08-16 14:35:32
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33029



More information about the Gcc-bugs mailing list