Fix some fallout for small targets.
authorGeorg-Johann Lay <avr@gjlay.de>
Mon, 21 Oct 2019 06:54:42 +0000 (06:54 +0000)
committerGeorg-Johann Lay <gjl@gcc.gnu.org>
Mon, 21 Oct 2019 06:54:42 +0000 (06:54 +0000)
PR testsuite/52641
* gcc.dg/torture/pr86034.c: Use 32-bit base type for a bitfield of
width > 16 bits.
* gcc.dg/torture/pr90972.c [avr]: Add option "-w".
* gcc.dg/torture/pr87693.c: Same.
* gcc.dg/torture/pr91178.c: Add dg-require-effective-target size32plus.
* gcc.dg/torture/pr91178-2.c: Same.
* gcc.dg/torture/20181024-1.c
* gcc.dg/torture/pr86554-1.c: Use 32-bit integers.
* gcc.dg/tree-ssa/pr91091-1.c: Same.

From-SVN: r277236

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/torture/20181024-1.c
gcc/testsuite/gcc.dg/torture/pr86034.c
gcc/testsuite/gcc.dg/torture/pr86554-1.c
gcc/testsuite/gcc.dg/torture/pr87693.c
gcc/testsuite/gcc.dg/torture/pr90972.c
gcc/testsuite/gcc.dg/torture/pr91178-2.c
gcc/testsuite/gcc.dg/torture/pr91178.c
gcc/testsuite/gcc.dg/tree-ssa/pr91091-1.c

index 681cee69de494e704f353685ab8bd0e496fccf7b..9199be887cf64da582059dee612c9eecc62af285 100644 (file)
@@ -1,3 +1,18 @@
+2019-10-20  Georg-Johann Lay  <avr@gjlay.de>
+
+       Fix some fallout for small targets.
+
+       PR testsuite/52641
+       * gcc.dg/torture/pr86034.c: Use 32-bit base type for a bitfield of
+       width > 16 bits.
+       * gcc.dg/torture/pr90972.c [avr]: Add option "-w".
+       * gcc.dg/torture/pr87693.c: Same.
+       * gcc.dg/torture/pr91178.c: Add dg-require-effective-target size32plus.
+       * gcc.dg/torture/pr91178-2.c: Same.
+       * gcc.dg/torture/20181024-1.c
+       * gcc.dg/torture/pr86554-1.c: Use 32-bit integers.
+       * gcc.dg/tree-ssa/pr91091-1.c: Same.
+
 2019-10-20  Jan Hubicka  <hubicka@ucw.cz>
 
        * gcc.c-torture/execute/alias-access-path-2.c: New testcase.
index f2cfe7f6d67b2286e07f36ee3fc258dee8b42dfa..a3cce24b873598b5e0b3635bad5f5be67f08c07b 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-do compile } */
+/* { dg-require-effective-target size32plus } */
 /* { dg-additional-options "-march=core-avx2" { target { x86_64-*-* i?86-*-* } } } */
 
 typedef enum {
index 247428c27728c0af232536fd3795a381aa125188..d83ea394ce9028a91b56d887b5765520e353ed20 100644 (file)
@@ -6,7 +6,7 @@
 struct A
 {
   int b;
-  int c:24;
+  __INT32_TYPE__ c:24;
   int d:10;
   int e;
 } f;
index 64f851e896ec8fce12302a67eb2ea1bd5375f096..562a187a5c451acec72e84056242eb9b6fb503d9 100644 (file)
@@ -2,25 +2,25 @@
 
 struct foo
 {
-  unsigned x;
+  __UINT32_TYPE__ x;
 };
 typedef struct foo foo;
 
-static inline int zot(foo *f)
+static inline __INT32_TYPE__ zot(foo *f)
 {
   int ret;
 
   if (f->x > 0x7FFFFFFF)
-    ret = (int)(f->x - 0x7FFFFFFF);
+    ret = (__INT32_TYPE__)(f->x - 0x7FFFFFFF);
   else
-    ret = (int)f->x - 0x7FFFFFFF;
+    ret = (__INT32_TYPE__)f->x - 0x7FFFFFFF;
   return ret;
 }
 
 void __attribute__((noinline,noclone)) bar(foo *f)
 {
-  int ret = zot(f);
-  volatile int x = ret;
+  __INT32_TYPE__ ret = zot(f);
+  volatile __INT32_TYPE__ x = ret;
   if (ret < 1)
     __builtin_abort ();
 }
index b4ff59421c120b2c0dbb50a002660148a4b14535..eb6d163d0f08a41c0e1610b4d556cc491ea0d162 100644 (file)
@@ -1,6 +1,7 @@
 /* { dg-do compile } */
 /* { dg-require-effective-target indirect_jumps } */
-
+/* { dg-additional-options "-w" { target avr-*-* } } */
+   
 void f (void);
 void g (void);
 void h (int a)
index 24f99b0ebb7d2095df219882a6edd8d5493d3bbc..b18ccbd540e87cbb50189c0922d82a5c530fc3fb 100644 (file)
@@ -1,5 +1,6 @@
 /* { dg-do compile } */
 /* { dg-additional-options "-mcpu=power8" { target powerpc*-*-* } } */
+/* { dg-additional-options "-w" { target avr-*-* } } */
 
 long f;
 void a();
index 0ebb4700b2afb068038645c53efa7aa31e5c8377..ac5ae0e4fe5ce5d8874ea45ea8935cfc55faaf80 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-do compile } */
+/* { dg-require-effective-target size32plus } */
 
 int a[100][70304];
 int b[100];
index b7a2dbe9e7f095fd92e847c90ba6975596d1f081..fc72d6812c1d15c492ee19477c549da22860a1d3 100644 (file)
@@ -1,4 +1,5 @@
 /* { dg-do compile } */
+/* { dg-require-effective-target size32plus } */
 
 int a;
 extern int f[10][91125];
index 2ee75d9804adb706dd9c0f752090f9ef2d32a148..5a6ac1b386440f9d5db8a7ef1fd79a4e5fb614bd 100644 (file)
@@ -1,8 +1,8 @@
 /* { dg-do run } */
 /* { dg-options "-O3 -fno-strict-aliasing" } */
 
-struct s { int x; } __attribute__((packed));
-struct t { int x; };
+struct s { __INT32_TYPE__ x; } __attribute__((packed));
+struct t { __INT32_TYPE__ x; };
 
 void __attribute__((noinline,noipa))
 swap(struct s* p, struct t* q)