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



             Bug #: 56524

           Summary: Compiler ICE when compiling with -mips16

    Classification: Unclassified

           Product: gcc

           Version: 4.8.0

            Status: UNCONFIRMED

          Severity: normal

          Priority: P3

         Component: middle-end

        AssignedTo: unassig...@gcc.gnu.org

        ReportedBy: s...@gcc.gnu.org

                CC: al...@redhat.com

            Target: mips*-*-*





This test program (from glibc) generates an ICE when compiled with -mips16. 

The internal error we are hitting was part of the fix for pr52555.  The test

program is a bit finicky, I think it is dependent on the order that GCC

processes the functions.  I don't know if this is a bug in the generic code

or in mips specific code and how mips handles the mips16 flag.





% cat mktime.i

unsigned int __bswap_32 (unsigned int __bsx)

{ return __builtin_bswap32 (__bsx); }



#pragma GCC optimize ("wrapv")



inline int leapyear (long long int year)

{

  return

    ((year & 3) == 0

     && (year % 100 != 0

  || ((year / 100) & 3) == (- (1900 / 100) & 3)));

}



mips-mti-linux-gnu-gcc -c -mips16 mktime.i

mktime.i:7:1: internal compiler error: in save_optabs_if_changed, at

optabs.c:6221

 {

 ^

0x8198e5 save_optabs_if_changed(tree_node*)

    /local/home/sellcey/gcc/linux_mips16/src/gcc/gcc/optabs.c:6221

0x4b090b decl_attributes(tree_node**, tree_node*, int)

    /local/home/sellcey/gcc/linux_mips16/src/gcc/gcc/attribs.c:545

0x4cf728 start_function(c_declspecs*, c_declarator*, tree_node*)

    /local/home/sellcey/gcc/linux_mips16/src/gcc/gcc/c/c-decl.c:7727

0x557114 c_common_parse_file()

    /local/home/sellcey/gcc/linux_mips16/src/gcc/gcc/c-family/c-opts.c:1046

Please submit a full bug report,

with preprocessed source if appropriate.

Please include the complete backtrace with any bug report.

See <http://gcc.gnu.org/bugs.html> for instructions.

Reply via email to