diff mbox

Add -Wno-abi in c++ struct-layout-1 tests

Message ID 20140925074305.GM17454@tucnak.redhat.com
State New
Headers show

Commit Message

Jakub Jelinek Sept. 25, 2014, 7:43 a.m. UTC
On Thu, Sep 25, 2014 at 09:29:52AM +0200, Uros Bizjak wrote:
> Hello!
> 
> > I've noticed that lots of g++ struct-layout-1.exp tests now fail
> > on ppc*.  The problem is the psABI warning:
> > the layout of aggregates containing vectors with N-byte alignment
> > For various targets we are using -Wno-abi (and, in C
> > struct-layout-1.exp also by default) for this, so the patch just
> > changes the default for C++ testing too.
> 
>  const char *dg_options[] = {
> -"/* { dg-options \"%s-I%s\" } */\n",
> +"/* { dg-options \"%s-I%s -Wno-abi\" } */\n",
>  "/* { dg-options \"%s-I%s -mno-mmx -Wno-abi\" { target i?86-*-*
> x86_64-*-* } } */\n",
>  "/* { dg-options \"%s-I%s -fno-common\" { target hppa*-*-hpux*
> powerpc*-*-darwin* *-*-mingw32* *-*-cygwin* } } */\n",
>  "/* { dg-options \"%s-I%s -mno-mmx -fno-common -Wno-abi\" { target
> i?86-*-darwin* x86_64-*-darwin* i?86-*-mingw32* x86_64-*-mingw32*
> i?86-*-cygwin* } } */\n",
> 
> IMO, these should be converted to dg-additional-options.

That would be something like following, except that compat framework doesn't
support dg-additional-options:
WARNING: compat.exp does not support dg-additional-options



	Jakub

Comments

Uros Bizjak Sept. 25, 2014, 7:50 a.m. UTC | #1
On Thu, Sep 25, 2014 at 9:43 AM, Jakub Jelinek <jakub@redhat.com> wrote:

>> > I've noticed that lots of g++ struct-layout-1.exp tests now fail
>> > on ppc*.  The problem is the psABI warning:
>> > the layout of aggregates containing vectors with N-byte alignment
>> > For various targets we are using -Wno-abi (and, in C
>> > struct-layout-1.exp also by default) for this, so the patch just
>> > changes the default for C++ testing too.
>>
>>  const char *dg_options[] = {
>> -"/* { dg-options \"%s-I%s\" } */\n",
>> +"/* { dg-options \"%s-I%s -Wno-abi\" } */\n",
>>  "/* { dg-options \"%s-I%s -mno-mmx -Wno-abi\" { target i?86-*-*
>> x86_64-*-* } } */\n",
>>  "/* { dg-options \"%s-I%s -fno-common\" { target hppa*-*-hpux*
>> powerpc*-*-darwin* *-*-mingw32* *-*-cygwin* } } */\n",
>>  "/* { dg-options \"%s-I%s -mno-mmx -fno-common -Wno-abi\" { target
>> i?86-*-darwin* x86_64-*-darwin* i?86-*-mingw32* x86_64-*-mingw32*
>> i?86-*-cygwin* } } */\n",
>>
>> IMO, these should be converted to dg-additional-options.
>
> That would be something like following, except that compat framework doesn't
> support dg-additional-options:
> WARNING: compat.exp does not support dg-additional-options

Huh ...

> -const char *dg_options[] = {
> -"/* { dg-options \"%s-I%s\" } */\n",
> -"/* { dg-options \"%s-I%s -Wno-abi\" } */\n",
> -"/* { dg-options \"%s-I%s -mno-mmx -Wno-abi\" { target i?86-*-* x86_64-*-* } } */\n",
> -"/* { dg-options \"%s-I%s -fno-common\" { target hppa*-*-hpux* powerpc*-*-darwin* } } */\n",
> -"/* { dg-options \"%s-I%s -mno-mmx -fno-common -Wno-abi\" { target i?86-*-darwin* x86_64-*-darwin* } } */\n",
> -"/* { dg-options \"%s-I%s -mno-base-addresses\" { target mmix-*-* } } */\n",
> -"/* { dg-options \"%s-I%s -mlongcalls -mtext-section-literals\" { target xtensa*-*-* } } */\n"
> -#define NDG_OPTIONS (sizeof (dg_options) / sizeof (dg_options[0]))
> -};
> +const char dg_options[] =
> +"/* { dg-options \"%s-I%s -Wno-abi\" } */\n"
> +"/* { dg-additional-options \"-mno-mmx\" { target i?86-*-* x86_64-*-* } } */\n"
> +"/* { dg-additional-options \"-fno-common\" { target hppa*-*-hpux* powerpc*-*-darwin* *-*-mingw32* *-*-cygwin* } } */\n"

*-*-darwin*

> +const char dg_options[] =
> +"/* { dg-options \"%s-I%s -Wno-abi\" } */\n"
> +"/* { dg-additional-options \"-mno-mmx\" { target i?86-*-* x86_64-*-* } } */\n"
> +"/* { dg-additional-options \"-fno-common\" { target hppa*-*-hpux* powerpc*-*-darwin* *-*-mingw32* *-*-cygwin* } } */\n"

Also here.

Uros.
Uros Bizjak Sept. 25, 2014, 8:02 a.m. UTC | #2
On Thu, Sep 25, 2014 at 9:43 AM, Jakub Jelinek <jakub@redhat.com> wrote:

>> > I've noticed that lots of g++ struct-layout-1.exp tests now fail
>> > on ppc*.  The problem is the psABI warning:
>> > the layout of aggregates containing vectors with N-byte alignment
>> > For various targets we are using -Wno-abi (and, in C
>> > struct-layout-1.exp also by default) for this, so the patch just
>> > changes the default for C++ testing too.
>>
>>  const char *dg_options[] = {
>> -"/* { dg-options \"%s-I%s\" } */\n",
>> +"/* { dg-options \"%s-I%s -Wno-abi\" } */\n",
>>  "/* { dg-options \"%s-I%s -mno-mmx -Wno-abi\" { target i?86-*-*
>> x86_64-*-* } } */\n",
>>  "/* { dg-options \"%s-I%s -fno-common\" { target hppa*-*-hpux*
>> powerpc*-*-darwin* *-*-mingw32* *-*-cygwin* } } */\n",
>>  "/* { dg-options \"%s-I%s -mno-mmx -fno-common -Wno-abi\" { target
>> i?86-*-darwin* x86_64-*-darwin* i?86-*-mingw32* x86_64-*-mingw32*
>> i?86-*-cygwin* } } */\n",
>>
>> IMO, these should be converted to dg-additional-options.
>
> That would be something like following, except that compat framework doesn't
> support dg-additional-options:
> WARNING: compat.exp does not support dg-additional-options

Rainer, Mike - any hope here?

Thanks,
Uros.
Mike Stump Sept. 25, 2014, 6:32 p.m. UTC | #3
On Sep 25, 2014, at 1:02 AM, Uros Bizjak <ubizjak@gmail.com> wrote:
>>> IMO, these should be converted to dg-additional-options.
>> 
>> That would be something like following, except that compat framework doesn't
>> support dg-additional-options:
>> WARNING: compat.exp does not support dg-additional-options
> 
> Rainer, Mike - any hope here?

Someone would have to pony up the work…  The drivers are a bit different.  I don’t know of anyone that has that work planned.
diff mbox

Patch

--- gcc/testsuite/gcc.dg/compat/struct-layout-1_generate.c.jj	2012-03-14 09:39:37.000000000 +0100
+++ gcc/testsuite/gcc.dg/compat/struct-layout-1_generate.c	2014-09-25 09:37:07.430959359 +0200
@@ -43,16 +43,12 @@  along with GCC; see the file COPYING3.
 #define COMPAT_PRLL "ll"
 #endif
 
-const char *dg_options[] = {
-"/* { dg-options \"%s-I%s\" } */\n",
-"/* { dg-options \"%s-I%s -Wno-abi\" } */\n",
-"/* { dg-options \"%s-I%s -mno-mmx -Wno-abi\" { target i?86-*-* x86_64-*-* } } */\n",
-"/* { dg-options \"%s-I%s -fno-common\" { target hppa*-*-hpux* powerpc*-*-darwin* } } */\n",
-"/* { dg-options \"%s-I%s -mno-mmx -fno-common -Wno-abi\" { target i?86-*-darwin* x86_64-*-darwin* } } */\n",
-"/* { dg-options \"%s-I%s -mno-base-addresses\" { target mmix-*-* } } */\n",
-"/* { dg-options \"%s-I%s -mlongcalls -mtext-section-literals\" { target xtensa*-*-* } } */\n"
-#define NDG_OPTIONS (sizeof (dg_options) / sizeof (dg_options[0]))
-};
+const char dg_options[] =
+"/* { dg-options \"%s-I%s -Wno-abi\" } */\n"
+"/* { dg-additional-options \"-mno-mmx\" { target i?86-*-* x86_64-*-* } } */\n"
+"/* { dg-additional-options \"-fno-common\" { target hppa*-*-hpux* powerpc*-*-darwin* *-*-mingw32* *-*-cygwin* } } */\n"
+"/* { dg-additional-options \"-mno-base-addresses\" { target mmix-*-* } } */\n"
+"/* { dg-additional-options \"-mlongcalls -mtext-section-literals\" { target xtensa*-*-* } } */\n";
 
 typedef unsigned int hashval_t;
 
@@ -759,7 +755,6 @@  switchfiles (int fields)
 {
   static int filecnt;
   static char *destbuf, *destptr;
-  int i;
 
   ++filecnt;
   if (outfile)
@@ -789,8 +784,7 @@  switchfiles (int fields)
       exit (1);
     }
   fprintf (outfile, "/* { dg-require-effective-target int32plus } */\n");
-  for (i = 0; i < NDG_OPTIONS; i++)
-    fprintf (outfile, dg_options[i], "", srcdir_safe);
+  fprintf (outfile, dg_options, "", srcdir_safe);
   fprintf (outfile, "/* { dg-prune-output \".*-Wno-abi.*\" } */\n");
   fprintf (outfile, "/* { dg-prune-output \".*Offset of packed bit-field.*\" } */\n");
   fprintf (outfile, "\
@@ -817,8 +811,7 @@  int main (void)\n\
   outfile = fopen (destbuf, "w");
   if (outfile == NULL)
     goto fail;
-  for (i = 0; i < NDG_OPTIONS; i++)
-    fprintf (outfile, dg_options[i], "-w ", srcdir_safe);
+  fprintf (outfile, dg_options, "-w ", srcdir_safe);
   fprintf (outfile, "\
 #include \"struct-layout-1_x1.h\"\n\
 #include \"t%03d_test.h\"\n\
@@ -829,8 +822,7 @@  int main (void)\n\
   outfile = fopen (destbuf, "w");
   if (outfile == NULL)
     goto fail;
-  for (i = 0; i < NDG_OPTIONS; i++)
-    fprintf (outfile, dg_options[i], "-w ", srcdir_safe);
+  fprintf (outfile, dg_options, "-w ", srcdir_safe);
   fprintf (outfile, "\
 #include \"struct-layout-1_y1.h\"\n\
 #include \"t%03d_test.h\"\n\
--- gcc/testsuite/g++.dg/compat/struct-layout-1_generate.c.jj	2014-09-24 11:07:50.000000000 +0200
+++ gcc/testsuite/g++.dg/compat/struct-layout-1_generate.c	2014-09-25 09:36:00.371312897 +0200
@@ -43,15 +43,12 @@  along with GCC; see the file COPYING3.
 #define COMPAT_PRLL "ll"
 #endif
 
-const char *dg_options[] = {
-"/* { dg-options \"%s-I%s\" } */\n",
-"/* { dg-options \"%s-I%s -mno-mmx -Wno-abi\" { target i?86-*-* x86_64-*-* } } */\n",
-"/* { dg-options \"%s-I%s -fno-common\" { target hppa*-*-hpux* powerpc*-*-darwin* *-*-mingw32* *-*-cygwin* } } */\n",
-"/* { dg-options \"%s-I%s -mno-mmx -fno-common -Wno-abi\" { target i?86-*-darwin* x86_64-*-darwin* i?86-*-mingw32* x86_64-*-mingw32* i?86-*-cygwin* } } */\n",
-"/* { dg-options \"%s-I%s -mno-base-addresses\" { target mmix-*-* } } */\n",
-"/* { dg-options \"%s-I%s -mlongcalls -mtext-section-literals\" { target xtensa*-*-* } } */\n"
-#define NDG_OPTIONS (sizeof (dg_options) / sizeof (dg_options[0]))
-};
+const char dg_options[] =
+"/* { dg-options \"%s-I%s -Wno-abi\" } */\n"
+"/* { dg-additional-options \"-mno-mmx\" { target i?86-*-* x86_64-*-* } } */\n"
+"/* { dg-additional-options \"-fno-common\" { target hppa*-*-hpux* powerpc*-*-darwin* *-*-mingw32* *-*-cygwin* } } */\n"
+"/* { dg-additional-options \"-mno-base-addresses\" { target mmix-*-* } } */\n"
+"/* { dg-additional-options \"-mlongcalls -mtext-section-literals\" { target xtensa*-*-* } } */\n";
 
 typedef unsigned int hashval_t;
 
@@ -506,7 +503,6 @@  switchfiles (int fields)
 {
   static int filecnt;
   static char *destbuf, *destptr;
-  int i;
 
   ++filecnt;
   if (outfile)
@@ -535,8 +531,7 @@  switchfiles (int fields)
       fputs ("failed to create test files\n", stderr);
       exit (1);
     }
-  for (i = 0; i < NDG_OPTIONS; i++)
-    fprintf (outfile, dg_options[i], "", srcdir_safe);
+  fprintf (outfile, dg_options, "", srcdir_safe);
   fprintf (outfile, "\n\
 #include \"struct-layout-1.h\"\n\
 \n\
@@ -561,8 +556,7 @@  int main (void)\n\
   outfile = fopen (destbuf, "w");
   if (outfile == NULL)
     goto fail;
-  for (i = 0; i < NDG_OPTIONS; i++)
-    fprintf (outfile, dg_options[i], "-w ", srcdir_safe);
+  fprintf (outfile, dg_options, "-w ", srcdir_safe);
   fprintf (outfile, "\n\
 #include \"struct-layout-1_x1.h\"\n\
 #include \"t%03d_test.h\"\n\
@@ -573,8 +567,7 @@  int main (void)\n\
   outfile = fopen (destbuf, "w");
   if (outfile == NULL)
     goto fail;
-  for (i = 0; i < NDG_OPTIONS; i++)
-    fprintf (outfile, dg_options[i], "-w ", srcdir_safe);
+  fprintf (outfile, dg_options, "-w ", srcdir_safe);
   fprintf (outfile, "\n\
 #include \"struct-layout-1_y1.h\"\n\
 #include \"t%03d_test.h\"\n\