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



             Bug #: 56246

           Summary: [4.8 regression] ICE in assign_by_spills, at

                    lra-assigns.c:1262

    Classification: Unclassified

           Product: gcc

           Version: unknown

            Status: UNCONFIRMED

          Severity: normal

          Priority: P3

         Component: c

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

        ReportedBy: ppluzhni...@google.com





Test case:



void NoBarrier_AtomicExchange (long long *ptr) {

  while (__sync_val_compare_and_swap (ptr, 1, 0) );

}



Using g++ (GCC) 4.8.0 20130205 (experimental):



g++ -c -m32 -O2 -fPIC -fno-omit-frame-pointer test.ii



test.ii: In function 'void NoBarrier_AtomicExchange(long long int*)':

test.ii:3:1: internal compiler error: in assign_by_spills, at

lra-assigns.c:1262

 }

 ^

0x995de3 assign_by_spills

        ../../gcc/lra-assigns.c:1262

0x996a93 lra_assign()

        ../../gcc/lra-assigns.c:1419

0x992d11 lra(_IO_FILE*)

        ../../gcc/lra.c:2308

0x95ae78 do_reload

        ../../gcc/ira.c:4623

0x95ae78 rest_of_handle_reload

        ../../gcc/ira.c:4736

Please submit a full bug report,

with preprocessed source if appropriate.





Same crash after update to r195864.

Reply via email to