diff options
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/objc.dg/gnu-encoding/struct-layout-encoding-1_generate.c | 19 |
2 files changed, 21 insertions, 3 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index f91771b53e8..bc4700080df 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,5 +1,10 @@ 2006-01-17 Andrew Pinski <pinskia@physics.uc.edu> + * objc.dg/gnu-encoding/struct-layout-encoding-1_generate.c (switchfiles): + xfail txxx where xxx >= 25. + +2006-01-17 Andrew Pinski <pinskia@physics.uc.edu> + PR testsuite/25764 * gcc.dg/const-compare.c: Restrict compiling to powerpc*-*-darwin*. diff --git a/gcc/testsuite/objc.dg/gnu-encoding/struct-layout-encoding-1_generate.c b/gcc/testsuite/objc.dg/gnu-encoding/struct-layout-encoding-1_generate.c index 4ed33d554c2..31f328ee9a9 100644 --- a/gcc/testsuite/objc.dg/gnu-encoding/struct-layout-encoding-1_generate.c +++ b/gcc/testsuite/objc.dg/gnu-encoding/struct-layout-encoding-1_generate.c @@ -222,10 +222,23 @@ switchfiles (int fields) fputs ("failed to create test files\n", stderr); exit (1); } - fprintf (outfile, "\ + /* FIXME: these should not be xfailed but they are because + 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. */ + if (filecnt >= 25) + { + fprintf (outfile, "\ +/* { dg-do run { xfail *-*-* } } */\n\ +/* { dg-options \"-w -I%s -fgnu-runtime\" } */\n"); + } + else + { + fprintf (outfile, "\ /* { dg-do run } */\n\ -/* { dg-options \"-w -I%s -fgnu-runtime\" } */\n\ -#include <objc/encoding.h> \n\ +/* { dg-options \"-w -I%s -fgnu-runtime\" } */\n"); + } + fprintf(outfile, "#include <objc/encoding.h> \n\ #include \"struct-layout-1.h\"\n\ \n\ int fails; \n\ |