On Mon, Jul 13, 2009 at 5:39 AM, Jack Howarth<howa...@bromo.med.uc.edu> wrote: > On Mon, Jul 13, 2009 at 01:52:51AM +0100, Dave Korn wrote: >> Richard Guenther wrote: >> > On Sun, Jul 12, 2009 at 9:41 PM, Jack Howarth<howa...@bromo.med.uc.edu> >> > 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) >> >> Do you know what this test is supposed to be doing? >> >> > $ cat /gnu/gcc/gcc/gcc/testsuite/gcc.c-torture/compile/20000804-1.c >> > /* This does not work on m68hc11 or h8300 due to the use of an asm >> > statement to force a 'long long' (64-bits) to go in a register. */ >> > /* { dg-do assemble } */ >> > /* { dg-skip-if "" { { i?86-*-* x86_64-*-* } && ilp32 } { "-fpic" "-fPIC" >> > } { "" >> > } } */ >> > /* { dg-skip-if "PIC default" { i?86-*-darwin* } { "*" } { "" } } */ >> > /* { dg-skip-if "No 64-bit registers" { m32c-*-* } { "*" } { "" } } */ >> > /* { dg-xfail-if "" { m6811-*-* m6812-*-* h8300-*-* } { "*" } { "" } } */ >> > >> > /* Copyright (C) 2000, 2003 Free Software Foundation */ >> > __complex__ long long f () >> > { >> > int i[99]; >> > __complex__ long long v; >> > >> > v += f (); >> >> Undefined behaviour, no? >> >> cheers, >> DaveK > > So then the testcase is flawed and should have the darwin line corrected to... > > /* { dg-skip-if "PIC default" { { i?86-*-darwin* x86_64-*-darwin* } && ilp32 > } { "*" } { "" } } */
Probably yes. The testcase invokes undefined behavior because v is used uninitialized - but that may be the trigger for the original ICE, so better preserve that. Richard. > > >