On Wed, Oct 15, 2014 at 11:25:26PM +0200, Marek Polacek wrote:
> On Wed, Oct 15, 2014 at 11:05:45PM +0200, Jakub Jelinek wrote:
> > On Wed, Oct 15, 2014 at 09:28:09PM +0200, Uros Bizjak wrote:
> > > i686-linux-gnu testsuite trivially regressed [1]:
> 
> Thanks for the log Uros.
>  
> > I have half of that already in patch form, will test and send either later
> > tonight or tomorrow.
> 
> Please don't force yourself into doing that, it's more up to me to fix
> my fallout ;).  Feel free to send me the partial patch and I will finish
> it tomorrow mornings (reproducing is easy with --target_board=unix/-m32).
> In any case, thanks.

If you want to finish it up, here it is (I think I have covered
all the GNU11 related new FAILs, but haven't tested it).

Where missing prototypes or return types looked like an omission, I've tried
to tweak it, in various tests -std=gnu89 looked like better option.
In several tests __builtin_ia32_crc32di was used, which is fine for 64-bit
tests where it is a builtin, but not in 32-bit tests where it is not.
Some of them looked like they test or just expect it to be parsed as
implicitly prototyped function, so I've used there -std=gnu89 too.

--- gcc/testsuite/gcc.dg/builtin-apply4.c.jj    2014-10-10 10:20:08.000000000 
+0200
+++ gcc/testsuite/gcc.dg/builtin-apply4.c       2014-10-15 19:33:23.140595264 
+0200
@@ -1,6 +1,6 @@
 /* PR tree-optimization/20076 */
 /* { dg-options "-O2 -Wmissing-noreturn -fgnu89-inline" } */
-/* { dg-options "-O2 -mno-mmx" { target { { i?86-*-* x86_64-*-* } && ia32 } } 
} */
+/* { dg-additional-options "-mno-mmx" { target { { i?86-*-* x86_64-*-* } && 
ia32 } } } */
 /* { dg-do run } */
 
 extern void abort (void);
--- gcc/testsuite/gcc.dg/sync-2.c.jj    2014-09-25 15:02:31.000000000 +0200
+++ gcc/testsuite/gcc.dg/sync-2.c       2014-10-15 19:38:42.361989299 +0200
@@ -11,6 +11,7 @@
 
 extern void abort (void);
 extern void *memcpy (void *, const void *, __SIZE_TYPE__);
+extern int memcmp (const void *, const void *, __SIZE_TYPE__);
 
 static char AI[18];
 static char init_qi[18] = { 3,5,7,9,0,0,0 ,0  ,-1,0,0,-1,0,0  ,-1,0,0,-1 };
--- gcc/testsuite/gcc.dg/pr32176.c.jj   2014-09-25 15:02:30.000000000 +0200
+++ gcc/testsuite/gcc.dg/pr32176.c      2014-10-15 19:37:48.439990744 +0200
@@ -2,7 +2,9 @@
 
 /* { dg-do compile } */
 /* { dg-options "-O2 -fprefetch-loop-arrays -w" } */
-/* { dg-options "-O2 -fprefetch-loop-arrays -march=i686 -msse" { target { { 
i?86-*-* x86_64-*-* } && ia32 } } } */
+/* { dg-additional-options "-march=i686 -msse" { target { { i?86-*-* 
x86_64-*-* } && ia32 } } } */
+
+extern void _gfortran_abort ();
 
 void foo (void)
 {
--- gcc/testsuite/gcc.dg/sync-3.c.jj    2014-09-25 15:02:24.000000000 +0200
+++ gcc/testsuite/gcc.dg/sync-3.c       2014-10-15 19:38:57.266714706 +0200
@@ -8,6 +8,7 @@
 
 extern void abort (void);
 extern void *memcpy (void *, const void *, __SIZE_TYPE__);
+extern int memcmp (const void *, const void *, __SIZE_TYPE__);
 
 static char AI[18] __attribute__((__aligned__ (4)));
 static char init_qi[18] = { 3,5,7,9,0,0,0 ,0  ,-1,0,0,-1,0,0  ,-1,0,0,-1 };
--- gcc/testsuite/gcc.dg/ia64-sync-1.c.jj       2014-09-25 15:02:25.000000000 
+0200
+++ gcc/testsuite/gcc.dg/ia64-sync-1.c  2014-10-15 19:34:53.619177553 +0200
@@ -13,6 +13,7 @@ __extension__ typedef __SIZE_TYPE__ size
 
 extern void abort (void);
 extern void *memcpy (void *, const void *, size_t);
+extern int memcmp (const void *, const void *, size_t);
 
 static int AI[12];
 static int init_noret_si[12] = { 0, 0, 0, 1, 0, 0, 0 , 0  , -1, 0, 0, -1 };
--- gcc/testsuite/gcc.dg/ia64-sync-2.c.jj       2014-09-25 15:02:27.000000000 
+0200
+++ gcc/testsuite/gcc.dg/ia64-sync-2.c  2014-10-15 19:35:28.854628785 +0200
@@ -13,6 +13,7 @@ __extension__ typedef __SIZE_TYPE__ size
 
 extern void abort (void);
 extern void *memcpy (void *, const void *, size_t);
+extern int memcmp (const void *, const void *, size_t);
 
 static int AI[18];
 static int init_si[18] = { 0,0,0,1,0,0, 0,0  ,-1,0,0,-1,0,0  ,-1,0,0,-1 };
--- gcc/testsuite/gcc.dg/ia64-sync-3.c.jj       2014-09-25 15:02:31.000000000 
+0200
+++ gcc/testsuite/gcc.dg/ia64-sync-3.c  2014-10-15 19:35:41.882351595 +0200
@@ -10,6 +10,7 @@ __extension__ typedef __SIZE_TYPE__ size
 
 extern void abort (void);
 extern void *memcpy (void *, const void *, size_t);
+extern int memcmp (const void *, const void *, size_t);
 
 static int AI[4];
 static int init_si[4] = { -30,-30,-50,-50 };
--- gcc/testsuite/gcc.dg/20020122-2.c.jj        2014-09-25 15:02:30.000000000 
+0200
+++ gcc/testsuite/gcc.dg/20020122-2.c   2014-10-15 19:32:21.202599849 +0200
@@ -3,9 +3,10 @@
   
 /* { dg-do compile } */
 /* { dg-options "-O2 -fprefetch-loop-arrays -w" } */
-/* { dg-options "-O2 -fprefetch-loop-arrays -march=athlon" { target { { 
i?86-*-* x86_64-*-* } && ia32 } } } */
+/* { dg-additional-options "-march=athlon" { target { { i?86-*-* x86_64-*-* } 
&& ia32 } } } */
 
 extern int access( char* );
+extern int strcmp(const char *s1, const char *s2);
 extern int a();
 char* foocp();
 
--- gcc/testsuite/gcc.target/i386/memcpy-1.c.jj 2014-09-25 15:02:05.000000000 
+0200
+++ gcc/testsuite/gcc.target/i386/memcpy-1.c    2014-10-15 23:13:03.927991653 
+0200
@@ -11,7 +11,7 @@
 
 char a[2048];
 char b[2048];
-t()
+void t(void)
 {
   __builtin_memcpy (a,b,2048);
 }
--- gcc/testsuite/gcc.target/i386/pr47564.c.jj  2014-09-25 15:02:05.000000000 
+0200
+++ gcc/testsuite/gcc.target/i386/pr47564.c     2014-10-15 23:20:06.411863048 
+0200
@@ -1,6 +1,6 @@
 /* PR target/47564 */
 /* { dg-do compile } */
-/* { dg-options "-O2 -msse2" } */
+/* { dg-options "-O2 -msse2 -std=gnu89" } */
 
 static inline unsigned long long
 foo (const unsigned char *p)
--- gcc/testsuite/gcc.target/i386/980312-1.c.jj 2014-09-25 15:02:05.000000000 
+0200
+++ gcc/testsuite/gcc.target/i386/980312-1.c    2014-10-15 19:50:19.220953558 
+0200
@@ -1,6 +1,6 @@
 /* { dg-do link } */
 /* { dg-require-effective-target ia32 } */
-/* { dg-options "-O2 -march=pentiumpro" } */
+/* { dg-options "-O2 -march=pentiumpro -fgnu89-inline" } */
 
 extern __inline  double
 __expm1 (double __x)
@@ -19,6 +19,7 @@ tanh (double __x)
 {
   return  __expm1 (__x) * __sgn1 (-__x);
 }
+int
 main ()
 {
   return tanh (3.45) != 0;
--- gcc/testsuite/gcc.target/i386/loop-1.c.jj   2014-09-25 15:02:05.000000000 
+0200
+++ gcc/testsuite/gcc.target/i386/loop-1.c      2014-10-15 23:12:28.795651793 
+0200
@@ -1,7 +1,7 @@
 /* PR optimization/9888 */
 /* { dg-do run } */
 /* { dg-require-effective-target ia32 } */
-/* { dg-options "-mtune=k6 -O3" } */
+/* { dg-options "-mtune=k6 -O3 -std=gnu89" } */
 
 /* Verify that GCC doesn't emit out of range 'loop' instructions.  */
 
--- gcc/testsuite/gcc.target/i386/vectorize4.c.jj       2014-09-25 
15:02:09.000000000 +0200
+++ gcc/testsuite/gcc.target/i386/vectorize4.c  2014-10-15 23:22:53.634571793 
+0200
@@ -5,7 +5,7 @@
 
 
 extern double sqrt (double __x);
-calc_freq (int *dest)
+void calc_freq (int *dest)
 {
   float tmp_out[257];
   int i;
--- gcc/testsuite/gcc.target/i386/pr26826.c.jj  2014-09-25 15:02:09.000000000 
+0200
+++ gcc/testsuite/gcc.target/i386/pr26826.c     2014-10-15 23:15:07.304688392 
+0200
@@ -2,6 +2,8 @@
 /* { dg-require-effective-target ia32 } */
 /* { dg-options "-O -fomit-frame-pointer -march=i586" } */
 
+int bar (int);
+
 void foo(char* p, char c, int i)
 {
     char a[2], *q=a+1;
--- gcc/testsuite/gcc.target/i386/intrinsics_3.c.jj     2014-09-25 
15:02:05.000000000 +0200
+++ gcc/testsuite/gcc.target/i386/intrinsics_3.c        2014-10-15 
23:11:43.493477376 +0200
@@ -4,7 +4,7 @@
    popcntintrin.h  */
 
 /* { dg-do compile } */
-/* { dg-options "-O2 -msse -mno-sse4.1 -mno-sse4.2 -mno-popcnt" } */
+/* { dg-options "-O2 -msse -mno-sse4.1 -mno-sse4.2 -mno-popcnt -std=gnu89" } */
 
 #include <popcntintrin.h>
 
--- gcc/testsuite/gcc.target/i386/20060125-2.c.jj       2014-09-25 
15:02:09.000000000 +0200
+++ gcc/testsuite/gcc.target/i386/20060125-2.c  2014-10-15 19:41:07.898259486 
+0200
@@ -12,7 +12,7 @@ struct a
 };
 
 __attribute__ ((noinline))
-__attribute__ ((regparm(1))) t(struct a a)
+__attribute__ ((regparm(1))) void t(struct a a)
 {
         if (a.a!=1 || a.b!=1 || a.c!=1)
                         abort();
--- gcc/testsuite/gcc.target/i386/pr37184.c.jj  2014-09-25 15:02:09.000000000 
+0200
+++ gcc/testsuite/gcc.target/i386/pr37184.c     2014-10-15 23:16:02.626635822 
+0200
@@ -2,6 +2,8 @@
 /* { dg-require-effective-target ilp32 } */
 /* { dg-options "-O1" } */
 
+extern int mod_rhs (int);
+
 static inline unsigned int
 rshift_u_s (unsigned int left, int right)
 {
--- gcc/testsuite/gcc.target/i386/crc32-3.c.jj  2014-09-25 15:02:09.000000000 
+0200
+++ gcc/testsuite/gcc.target/i386/crc32-3.c     2014-10-15 23:10:09.432237063 
+0200
@@ -1,6 +1,6 @@
 /* { dg-do compile } */
 /* { dg-require-effective-target ia32 } */
-/* { dg-options "-O2 -mcrc32" } */
+/* { dg-options "-O2 -mcrc32 -std=gnu89" } */
 /* { dg-final { scan-assembler "__builtin_ia32_crc32di" } } */
 
 unsigned long long
--- gcc/testsuite/gcc.target/i386/crc32-2.c.jj  2014-09-25 15:02:06.000000000 
+0200
+++ gcc/testsuite/gcc.target/i386/crc32-2.c     2014-10-15 23:09:57.919466840 
+0200
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O2 -mcrc32" } */
+/* { dg-options "-O2 -mcrc32 -std=gnu89" } */
 /* { dg-final { scan-assembler "crc32q\[^\\n\]*rax" { target { ! { ia32 } } } 
} } */
 
 unsigned long long
--- gcc/testsuite/gcc.target/i386/builtin-apply-mmx.c.jj        2014-09-25 
15:02:09.000000000 +0200
+++ gcc/testsuite/gcc.target/i386/builtin-apply-mmx.c   2014-10-15 
19:54:38.446235352 +0200
@@ -10,7 +10,7 @@
 /* This test case is adapted from gcc.dg/builtin-apply4.c.  */
  
 /* { dg-do run { xfail { ! *-*-darwin* } } } */
-/* { dg-options "-O2 -mmmx" } */
+/* { dg-options "-O2 -mmmx -fgnu89-inline" } */
 /* { dg-require-effective-target ia32 } */
 
 #include "mmx-check.h"
--- gcc/testsuite/gcc.target/i386/avx512f-pr57233.c.jj  2014-09-25 
15:02:09.000000000 +0200
+++ gcc/testsuite/gcc.target/i386/avx512f-pr57233.c     2014-10-15 
19:52:55.995107467 +0200
@@ -4,6 +4,8 @@
 
 #include "avx512f-check.h"
 
+int do_main (void);
+
 static void
 avx512f_test (void)
 {
--- gcc/testsuite/gcc.target/i386/stackalign/return-2.c.jj      2014-09-25 
15:02:06.000000000 +0200
+++ gcc/testsuite/gcc.target/i386/stackalign/return-2.c 2014-10-15 
23:24:07.186118814 +0200
@@ -1,6 +1,6 @@
 /* { dg-do compile } */
 /* { dg-require-effective-target ia32 } */
-/* { dg-options "-mpreferred-stack-boundary=2" } */
+/* { dg-options "-mpreferred-stack-boundary=2 -std=gnu89" } */
 
 /* This compile only test is to detect an assertion failure in stack branch
    development.  */
--- gcc/testsuite/gcc.target/i386/stackalign/asm-1.c.jj 2014-09-25 
15:02:06.000000000 +0200
+++ gcc/testsuite/gcc.target/i386/stackalign/asm-1.c    2014-10-15 
23:23:30.789852605 +0200
@@ -4,4 +4,4 @@
 
 /* This case is to detect a compile time regression introduced in stack
    branch development. */
-f(){asm("%0"::"r"(1.5F));}g(){asm("%0"::"r"(1.5));}
+void f(){asm("%0"::"r"(1.5F));}void g(){asm("%0"::"r"(1.5));}
--- gcc/testsuite/gcc.target/i386/pr40934.c.jj  2014-09-25 15:02:05.000000000 
+0200
+++ gcc/testsuite/gcc.target/i386/pr40934.c     2014-10-15 23:16:38.828952305 
+0200
@@ -4,7 +4,7 @@
 
 extern double host_frametime;
 extern float pitchvel;
-V_DriftPitch (float delta, float move)
+void V_DriftPitch (float delta, float move)
 {
   if (!delta)
     move = host_frametime;
--- gcc/testsuite/gcc.target/i386/20060125-1.c.jj       2014-09-25 
15:02:06.000000000 +0200
+++ gcc/testsuite/gcc.target/i386/20060125-1.c  2014-10-15 19:40:44.138716105 
+0200
@@ -12,7 +12,7 @@ struct a
 };
 
 __attribute__ ((noinline))
-__attribute__ ((regparm(1))) t(struct a a)
+__attribute__ ((regparm(1))) void t(struct a a)
 {
         if (a.a!=1 || a.b!=1 || a.c!=1)
                         abort();
--- gcc/testsuite/gcc.target/i386/avx512f-typecast-1.c.jj       2014-09-25 
15:02:06.000000000 +0200
+++ gcc/testsuite/gcc.target/i386/avx512f-typecast-1.c  2014-10-15 
19:53:57.513985828 +0200
@@ -4,6 +4,7 @@
 
 #include "avx512f-check.h"
 
+extern int memcmp (const void *, const void *, __SIZE_TYPE__);
 
 void
 avx512f_test (void)
--- gcc/testsuite/gcc.target/i386/980313-1.c.jj 2014-09-25 15:02:09.000000000 
+0200
+++ gcc/testsuite/gcc.target/i386/980313-1.c    2014-10-15 19:50:39.006595165 
+0200
@@ -1,6 +1,6 @@
 /* { dg-do link } */
 /* { dg-require-effective-target ia32 } */
-/* { dg-options "-O2 -march=pentiumpro" } */
+/* { dg-options "-O2 -march=pentiumpro -fgnu89-inline" } */
 
 extern __inline  double
 __expm1 (double __x)
@@ -20,6 +20,7 @@ tanh (double __x)
   register double __exm1 = __expm1 (__x);
   return __exm1 / (__exm1 + 2.0) * __sgn1 (-__x);
 }
+int
 main ()
 {
   return tanh (3.45) != 0;
--- gcc/testsuite/gcc.target/i386/990524-1.c.jj 2014-09-25 15:02:06.000000000 
+0200
+++ gcc/testsuite/gcc.target/i386/990524-1.c    2014-10-15 19:51:56.539189108 
+0200
@@ -6,6 +6,7 @@ typedef struct t_anim_info {
    char        *new_filename;
    long         first_frame_nr; 
 } t_anim_info;
+void gimp_image_delete(int);
 static int
 p_frames_to_multilayer(t_anim_info *ainfo_ptr,
                       long range_from, long range_to)
--- gcc/testsuite/gcc.target/i386/sse-5.c.jj    2014-09-25 15:02:09.000000000 
+0200
+++ gcc/testsuite/gcc.target/i386/sse-5.c       2014-10-15 23:22:23.192196048 
+0200
@@ -5,7 +5,7 @@
 
 typedef double v2df __attribute__ ((vector_size (16)));
 v2df p;
-q(v2df t) /* { dg-warning "SSE" "" } */
+void q(v2df t) /* { dg-warning "SSE" "" } */
 {
        p=t;
 }
--- gcc/testsuite/gcc.target/i386/pr44948-2a.c.jj       2014-09-25 
15:02:09.000000000 +0200
+++ gcc/testsuite/gcc.target/i386/pr44948-2a.c  2014-10-15 23:19:31.969540543 
+0200
@@ -1,6 +1,6 @@
 /* PR target/44948 */
 /* { dg-do run } */
-/* { dg-options "-O -Wno-psabi -mno-sse -mtune=generic" } */
+/* { dg-options "-O -Wno-psabi -mno-sse -mtune=generic -std=gnu89" } */
 /* { dg-require-effective-target ia32 } */
 /* { dg-require-effective-target sse2_runtime } */
 /* { dg-additional-sources pr44948-2b.c } */
--- gcc/testsuite/gcc.target/i386/pr50712.c.jj  2014-09-25 15:02:09.000000000 
+0200
+++ gcc/testsuite/gcc.target/i386/pr50712.c     2014-10-15 23:21:56.578696123 
+0200
@@ -1,6 +1,6 @@
 /* { dg-do compile } */
 /* { dg-require-effective-target ia32 } */
-/* { dg-options "-O2" } */
+/* { dg-options "-O2 -std=gnu89" } */
 
 typedef __builtin_va_list __va_list;
 typedef __va_list __gnuc_va_list;


        Jakub

Reply via email to