http://gcc.gnu.org/r243854

Applied this patch as obvious.  It adds some additional salt for
targets with reduced resources like require size32plus.

Johann

gcc/testsuite/
        PR testsuite/52641
        * gcc.dg/builtin-object-size-16.c (ia0, ia1, ia9): Handle case
        where neither short nor int has a size of 4; use long.
        * gcc.dg/builtin-object-size-17.c: Same.
        * gcc.dg/builtin-stringop-chk-1.c (test2) <struct S>: Use int32_t
        for components as 4 components are supposed to occupy 16 bytes.
        * gcc.dg/pr78408-1.c: Require target size32plus.
        * gcc.dg/pr78408-2.c: Same.
        * gcc.dg/tree-ssa/pr78428.c. Require target int32plus.
        * gcc.dg/tree-ssa/tailcall-7.c: Require target trampolines.

Index: gcc.dg/builtin-object-size-16.c
===================================================================
--- gcc.dg/builtin-object-size-16.c	(revision 243852)
+++ gcc.dg/builtin-object-size-16.c	(working copy)
@@ -69,6 +69,10 @@ static short ia9[9];
 extern int ia0[0];
 static int ia1[1];
 static int ia9[9];
+#elif __SIZEOF_LONG__ == 4
+extern long ia0[0];
+static long ia1[1];
+static long ia9[9];
 #endif
 
 static char a2x2[2][2];
Index: gcc.dg/builtin-object-size-17.c
===================================================================
--- gcc.dg/builtin-object-size-17.c	(revision 243852)
+++ gcc.dg/builtin-object-size-17.c	(working copy)
@@ -64,6 +64,10 @@ static short ia9[9];
 extern int ia0[0];
 static int ia1[1];
 static int ia9[9];
+#elif __SIZEOF_LONG__ == 4
+extern long ia0[0];
+static long ia1[1];
+static long ia9[9];
 #endif
 
 static char a2x2[2][2];
Index: gcc.dg/builtin-stringop-chk-1.c
===================================================================
--- gcc.dg/builtin-stringop-chk-1.c	(revision 243852)
+++ gcc.dg/builtin-stringop-chk-1.c	(working copy)
@@ -105,7 +105,7 @@ test2 (const H h)
   unsigned char buf[21];
   memset (buf + 16, 0, 8); /* { dg-warning "writing 8 " "memset" } */
 
-  typedef struct { int i, j, k, l; } S;
+  typedef struct { __INT32_TYPE__ i, j, k, l; } S;
   S *s[3];
   memset (s, 0, sizeof (S) * 3); /* { dg-warning "writing 48 " "memset" } */
 
Index: gcc.dg/pr78408-1.c
===================================================================
--- gcc.dg/pr78408-1.c	(revision 243852)
+++ gcc.dg/pr78408-1.c	(working copy)
@@ -1,5 +1,5 @@
 /* PR c/78408 */
-/* { dg-do compile } */
+/* { dg-do compile { target size32plus } } */
 /* { dg-options "-O2 -fdump-tree-fab1-details" } */
 /* { dg-final { scan-tree-dump-times "after previous" 17 "fab1" } } */
 
Index: gcc.dg/pr78408-2.c
===================================================================
--- gcc.dg/pr78408-2.c	(revision 243852)
+++ gcc.dg/pr78408-2.c	(working copy)
@@ -1,5 +1,5 @@
 /* PR c/78408 */
-/* { dg-do compile } */
+/* { dg-do compile { target size32plus } } */
 /* { dg-options "-O2 -fdump-tree-fab1-details" } */
 /* { dg-final { scan-tree-dump-not "after previous" "fab1" } } */
 
Index: gcc.dg/tree-ssa/pr78428.c
===================================================================
--- gcc.dg/tree-ssa/pr78428.c	(revision 243852)
+++ gcc.dg/tree-ssa/pr78428.c	(working copy)
@@ -1,6 +1,6 @@
 /* PR tree-optimization/78428.  */
 /* { dg-options "-O2" } */
-/* { dg-do run } */
+/* { dg-do run { target int32plus } } */
 
 struct S0
 {
Index: gcc.dg/tree-ssa/tailcall-7.c
===================================================================
--- gcc.dg/tree-ssa/tailcall-7.c	(revision 243852)
+++ gcc.dg/tree-ssa/tailcall-7.c	(working copy)
@@ -1,4 +1,4 @@
-/* { dg-do compile } */
+/* { dg-do compile { target trampolines } } */
 /* { dg-options "-O2 -fdump-tree-tailc-details" } */
 
 struct s { int x; };

Reply via email to