http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45989
Dominique d'Humieres <dominiq at lps dot ens.fr> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |dave.ang...@nrc-cnrc.gc.ca, | |iains at gcc dot gnu.org, | |pthaugen at us dot ibm.com --- Comment #2 from Dominique d'Humieres <dominiq at lps dot ens.fr> 2010-12-21 18:20:40 UTC --- > Some of the objc.dg-struct-layout-encoding-1 test currently XPASS on several > platforms: > > * i386-pc-solaris2.*, 32 and 64-bit: > > XPASS: objc.dg-struct-layout-encoding-1/t026_main.m execution test This is the case for all the platforms I have looked at. > * sparc-sun-solaris2.*, 32 and 64-bit, alpha-dec-osf5.1b, mips-sgi-irix6.5: > > XPASS: objc.dg-struct-layout-encoding-1/t025_main.m execution test > XPASS: objc.dg-struct-layout-encoding-1/t026_main.m execution test > XPASS: objc.dg-struct-layout-encoding-1/t027_main.m execution test > XPASS: objc.dg-struct-layout-encoding-1/t028_main.m execution test > XPASS: objc.dg-struct-layout-encoding-1/t029_main.m execution test > XPASS: objc.dg-struct-layout-encoding-1/t030_main.m execution test > XPASS: objc.dg-struct-layout-encoding-1/t031_main.m execution test This is also the case for hppa2.0w-hp-hpux11.11 (default mode), see http://gcc.gnu.org/ml/gcc-testresults/2010-12/msg01891.html powerpc64-unknown-linux-gnu (-m32/65) see http://gcc.gnu.org/ml/gcc-testresults/2010-12/msg01488.html > This just adds noise to the testsuite reports, so the xfails need to be > adjusted. Since I shared this feeling, I have the following darwin-centric patch in my trees: --- ../../_gcc_clean/gcc/testsuite/objc.dg/gnu-encoding/struct-layout-encoding-1_generate.c 2010-12-13 10:50:10.000000000 +0100 +++ ../../gcc-4.6-work/gcc/testsuite/objc.dg/gnu-encoding/struct-layout-encoding-1_generate.c 2010-12-18 12:14:33.000000000 +0100 @@ -243,10 +243,16 @@ switchfiles (int fields) of bugs in libobjc and the objc front-end. 25 is because vectors are not encoded. The rest are because or zero sized arrays are encoded as pointers. */ - else if (filecnt >= 25) + else if (filecnt == 25 || (filecnt >= 27 && filecnt <= 29)) { fprintf (outfile, "\ -/* { dg-do run { xfail *-*-* } } */\n\ +/* { dg-do run { xfail { { ! powerpc-apple-darwin9 } || ilp32 } } } */\n\ +/* { dg-options \"-w -I%s -fgnu-runtime\" } */\n", srcdir); + } + else if (filecnt >= 30) + { + fprintf (outfile, "\ +/* { dg-do run { xfail { ! powerpc-apple-darwin9 } } } */\n\ /* { dg-options \"-w -I%s -fgnu-runtime\" } */\n", srcdir); } else I have no way to test an extension to non-darwin platforms nor commit rights, but it could be a starting point. It would also be nice to have a pointer to "bugs in libobjc and the objc front-end" in the FIXME (if there is any available).