Attached sample (reduced from glibc cvs) caused gcc built from latest
gcc-4_3-branch to ICE on arm. It worked ok with gcc 4.2.2. If I removed
-frename-registers then the ICE would not happen.

Steps to reproduce

Compile as follows

arm-none-linux-gnueabi-gcc -c -O2 sample.c -frename-registers

sample.c: In function ‘foo’:
sample.c:10: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.


/* sample.c */

int foo () {
  const unsigned char *inptr = 0;
  unsigned char *outptr = 0;
  unsigned int inval = (__extension__ ({ register unsigned int __bsx = (*(const
unsigned int *) inptr); ((((__bsx) & 0xff000000u) >> 24) | (((__bsx) &
0x00ff0000u) >> 8) | (((__bsx) & 0x0000ff00u) << 8) | (((__bsx) & 0x000000ffu)
<< 24)); }));
  if (__builtin_expect (inval > 0x7fffffff, 0))
  {
    *((unsigned int *) outptr) = inval;
  }
return 0;
}


-- 
           Summary: GCC ICE with -frename-registers
           Product: gcc
           Version: 4.3.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: raj dot khem at gmail dot com
 GCC build triplet: i686-linux
  GCC host triplet: i686-linux
GCC target triplet: arm-none-linux-gnueabi


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

Reply via email to