On Sun, Jul 12, 2009 at 09:55:13PM +0200, Richard Guenther wrote:
> On Sun, Jul 12, 2009 at 9:41 PM, Jack Howarth<[email protected]> wrote:
> > I am seeing a new failure on x86_64-apple-darwin10 in current gcc 4.4
> > branch
> > that wasn't present in the gcc 4.4.0 release. At -m32, the testsuite
> > failure...
> >
> > FAIL: gcc.c-torture/compile/20000804-1.c -O0 (test for excess errors)
> >
> > appears with the error logged as...
> >
> > Executing on host:
> > /sw/src/fink.build/gcc44-4.4.099-20090711/darwin_objdir/gcc/xgcc
> > -B/sw/src/fink.build/gcc44-4.4.099-20090711/darwin_objdir/gcc/ -O3
> > -fomit-frame-pointer ...skipping...
> > Executing on host:
> > /sw/src/fink.build/gcc44-4.4.099-20090711/darwin_objdir/gcc/xgcc
> > -B/sw/src/fink.build/gcc44-4.4.099-20090711/darwin_objdir/gcc/ -O0 -w -c
> > -m32 -o 20000804-1.o
> > /sw/src/fink.build/gcc44-4.4.099-20090711/gcc-4.4-20090711/gcc/testsuite/gcc.c-torture/compile/20000804-1.c
> > (timeout = 300)
> > /sw/src/fink.build/gcc44-4.4.099-20090711/gcc-4.4-20090711/gcc/testsuite/gcc.c-torture/compile/20000804-1.c:
> > In function 'f':
> > /sw/src/fink.build/gcc44-4.4.099-20090711/gcc-4.4-20090711/gcc/testsuite/gcc.c-torture/compile/20000804-1.c:16:
> > error: can't find a register in class 'GENERAL_REGS' while reloading 'asm'
> > /sw/src/fink.build/gcc44-4.4.099-20090711/gcc-4.4-20090711/gcc/testsuite/gcc.c-torture/compile/20000804-1.c:16:
> > error: 'asm' operand has impossible constraints
> > compiler exited with status 1
> > output is:
> > /sw/src/fink.build/gcc44-4.4.099-20090711/gcc-4.4-20090711/gcc/testsuite/gcc.c-torture/compile/20000804-1.c:
> > In function 'f':
> > /sw/src/fink.build/gcc44-4.4.099-20090711/gcc-4.4-20090711/gcc/testsuite/gcc.c-torture/compile/20000804-1.c:16:
> > error: can't find a register in class 'GENERAL_REGS' while reloading 'asm'
> > /sw/src/fink.build/gcc44-4.4.099-20090711/gcc-4.4-20090711/gcc/testsuite/gcc.c-torture/compile/20000804-1.c:16:
> > error: 'asm' operand has impossible constraints
> >
> > FAIL: gcc.c-torture/compile/20000804-1.c -O0 (test for excess errors)
> > Excess errors:
> > /sw/src/fink.build/gcc44-4.4.099-20090711/gcc-4.4-20090711/gcc/testsuite/gcc.c-torture/compile/20000804-1.c:16:
> > error: can't find a register in class 'GENERAL_REGS' while reloading 'asm'
> > /sw/src/fink.build/gcc44-4.4.099-20090711/gcc-4.4-20090711/gcc/testsuite/gcc.c-torture/compile/20000804-1.c:16:
> > error: 'asm' operand has impossible constraints
> >
> > The failure doesn't occur at -m32 if I pass -fno-PIC on the compilation
> > line. Could someone with current gcc 4.4 branch
> > on x86_64-*-linux check to see if they get the same failure with -m32 -fPIC
> > at -O0 for gcc.c-torture/compile/20000804-1.c?
> > This looks like a regression from gcc 4.4.0.
>
> Please file a bugreport about this. Can you constrain the revisions where
> the regression was introduced?
>
> Thanks,
> Richard.
>
> > Jack
> >
A correction. I do see this in gcc 4.4.0 as well on both the
x86_64-apple-darwin9 and
the x86_64-apple-darwin10 targets so it isn't a regression in gcc 4.4 branch.
However it
is still probably worth looking at since -fPIC doesn't get tested as often on
linux.
Interestingly, Apple's gcc-4.0 and gcc-4.2 compilers produce a similar error
message when
compiling the testcase against Xcode 3.1.3 under Darwin9...
gcc-4.2 -O0 -w -c -m32 -o 20000804-1.o 20000804-1.c
20000804-1.c: In function ‘f’:
20000804-1.c:16: error: can't find a register in class ‘GENERAL_REGS’ while
reloading ‘asm’
20000804-1.c:16: error: ‘asm’ operand has impossible constraints
and no assembly is generated with -save-temps.
Jack