re PR testsuite/52641 (Test cases fail for 16-bit int targets)
authorGeorg-Johann Lay <avr@gjlay.de>
Fri, 2 Feb 2018 15:07:37 +0000 (15:07 +0000)
committerGeorg-Johann Lay <gjl@gcc.gnu.org>
Fri, 2 Feb 2018 15:07:37 +0000 (15:07 +0000)
PR testsuite/52641
* gcc.c-torture/execute/pr83362.c: Make work for int16.
* gcc.dg/Wsign-conversion.c: Dito.
* gcc.dg/attr-alloc_size-4.c: Dito.
* gcc.dg/pr81020.c: Dito.
* gcc.dg/pr81192.c: Dito.
* gcc.dg/pr83463.c (dg-options): Add -Wno-pointer-to-int-cast.
* gcc.dg/attr-alloc_size-11.c: Also special-case avr.
* gcc.dg/pr83844.c: Restrict to int32plus.
* gcc.dg/attr-alloc_size-3.c: Restrict to size32plus.
* gcc.dg/tree-ssa/ldist-25.c: Dito.
* gcc.dg/tree-ssa/ldist-27.c: Dito.
* gcc.dg/tree-ssa/ldist-28.c: Dito.
* gcc.dg/tree-ssa/ldist-29.c: Dito.
* gcc.dg/tree-ssa/ldist-30.c: Dito.
* gcc.dg/tree-ssa/ldist-31.c: Dito.
* gcc.dg/tree-ssa/ldist-32.c: Dito.
* gcc.dg/tree-ssa/ldist-33.c: Dito.
* gcc.dg/tree-ssa/ldist-34.c: Dito.
* gcc.dg/tree-ssa/ldist-35.c: Dito.
* gcc.dg/tree-ssa/ldist-36.c: Dito.

From-SVN: r257333

21 files changed:
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/execute/pr83362.c
gcc/testsuite/gcc.dg/Wsign-conversion.c
gcc/testsuite/gcc.dg/attr-alloc_size-11.c
gcc/testsuite/gcc.dg/attr-alloc_size-3.c
gcc/testsuite/gcc.dg/attr-alloc_size-4.c
gcc/testsuite/gcc.dg/pr81020.c
gcc/testsuite/gcc.dg/pr81192.c
gcc/testsuite/gcc.dg/pr83463.c
gcc/testsuite/gcc.dg/pr83844.c
gcc/testsuite/gcc.dg/tree-ssa/ldist-25.c
gcc/testsuite/gcc.dg/tree-ssa/ldist-27.c
gcc/testsuite/gcc.dg/tree-ssa/ldist-28.c
gcc/testsuite/gcc.dg/tree-ssa/ldist-29.c
gcc/testsuite/gcc.dg/tree-ssa/ldist-30.c
gcc/testsuite/gcc.dg/tree-ssa/ldist-31.c
gcc/testsuite/gcc.dg/tree-ssa/ldist-32.c
gcc/testsuite/gcc.dg/tree-ssa/ldist-33.c
gcc/testsuite/gcc.dg/tree-ssa/ldist-34.c
gcc/testsuite/gcc.dg/tree-ssa/ldist-35.c
gcc/testsuite/gcc.dg/tree-ssa/ldist-36.c

index a9e5d030ea863cf5ea4566ad23f196f79506b09a..39222bbd311cb865913257490f74748fac39eea1 100644 (file)
@@ -1,3 +1,27 @@
+2018-02-02  Georg-Johann Lay  <avr@gjlay.de>
+
+       PR testsuite/52641
+       * gcc.c-torture/execute/pr83362.c: Make work for int16.
+       * gcc.dg/Wsign-conversion.c: Dito.
+       * gcc.dg/attr-alloc_size-4.c: Dito.
+       * gcc.dg/pr81020.c: Dito.
+       * gcc.dg/pr81192.c: Dito.
+       * gcc.dg/pr83463.c (dg-options): Add -Wno-pointer-to-int-cast.
+       * gcc.dg/attr-alloc_size-11.c: Also special-case avr.
+       * gcc.dg/pr83844.c: Restrict to int32plus.
+       * gcc.dg/attr-alloc_size-3.c: Restrict to size32plus.
+       * gcc.dg/tree-ssa/ldist-25.c: Dito.
+       * gcc.dg/tree-ssa/ldist-27.c: Dito.
+       * gcc.dg/tree-ssa/ldist-28.c: Dito.
+       * gcc.dg/tree-ssa/ldist-29.c: Dito.
+       * gcc.dg/tree-ssa/ldist-30.c: Dito.
+       * gcc.dg/tree-ssa/ldist-31.c: Dito.
+       * gcc.dg/tree-ssa/ldist-32.c: Dito.
+       * gcc.dg/tree-ssa/ldist-33.c: Dito.
+       * gcc.dg/tree-ssa/ldist-34.c: Dito.
+       * gcc.dg/tree-ssa/ldist-35.c: Dito.
+       * gcc.dg/tree-ssa/ldist-36.c: Dito.
+
 2018-02-02  Julia Koval  <julia.koval@intel.com>
 
        * gcc.target/i386/funcspec-56.inc: Handle new march.
index 54350819c56dc43deb557c9aac38fd146226624f..900ea9ae4dee31bceff7761e0cc644b4cb4cc11a 100644 (file)
@@ -1,5 +1,5 @@
-typedef unsigned char u8;
-typedef unsigned int u32;
+typedef __UINT8_TYPE__ u8;
+typedef __UINT32_TYPE__ u32;
 
 u32 a, b, d, e;
 u8 c;
index bda61eb8bbf8d97973a549c5d81e201bc6fdff5b..b2affd01912a790abaed10cfb1de85163f27b703 100644 (file)
@@ -10,11 +10,13 @@ void fsc (signed char sc);
 void fuc (unsigned char uc);
 unsigned fui (unsigned int  ui);
 void fsi (signed int ui);
+void fsi32 (__INT32_TYPE__ ui);
 
 void h (int x)
 {
   unsigned int ui = 3;
   int   si = 3;
+  __INT32_TYPE__ si32 = 3;
   unsigned char uc = 3;
   signed char   sc = 3;
 
@@ -60,8 +62,8 @@ void h (int x)
   uc = '\xa0'; /* { dg-warning "unsigned conversion" } */
   fui ('\xa0');/* { dg-warning "unsigned conversion" } */
   ui = '\xa0'; /* { dg-warning "unsigned conversion" } */
-  fsi (0x80000000); /* { dg-warning "signed conversion" } */
-  si = 0x80000000;  /* { dg-warning "signed conversion" } */
+  fsi32 (0x80000000); /* { dg-warning "signed conversion" } */
+  si32 = 0x80000000;  /* { dg-warning "signed conversion" } */
 
 
   fsi (UINT_MAX - 1);  /* { dg-warning "conversion" } */
index 6e1099551834b21071843de9eda6ed424082fb11..3ec44dc1463e82231a053ce352942e3c4ba6afd4 100644 (file)
@@ -47,8 +47,8 @@ typedef __SIZE_TYPE__    size_t;
 
 /* The following tests fail because of missing range information.  The xfail
    exclusions are PR79356.  */
-TEST (signed char, SCHAR_MIN + 2, ALLOC_MAX);   /* { dg-warning "argument 1 range \\\[13, \[0-9\]+\\\] exceeds maximum object size 12" "missing range info for signed char" { xfail { ! { aarch64*-*-* arm*-*-* alpha*-*-* ia64-*-* mips*-*-* powerpc*-*-* sparc*-*-* s390*-*-* visium-*-* } } } } */
-TEST (short, SHRT_MIN + 2, ALLOC_MAX); /* { dg-warning "argument 1 range \\\[13, \[0-9\]+\\\] exceeds maximum object size 12" "missing range info for short" { xfail { ! { aarch64*-*-* arm*-*-* alpha*-*-* ia64-*-* mips*-*-* powerpc*-*-* sparc*-*-* s390x-*-* visium-*-* } } } } */
+TEST (signed char, SCHAR_MIN + 2, ALLOC_MAX);   /* { dg-warning "argument 1 range \\\[13, \[0-9\]+\\\] exceeds maximum object size 12" "missing range info for signed char" { xfail { ! { aarch64*-*-* arm*-*-* avr-*-* alpha*-*-* ia64-*-* mips*-*-* powerpc*-*-* sparc*-*-* s390*-*-* visium-*-* } } } } */
+TEST (short, SHRT_MIN + 2, ALLOC_MAX); /* { dg-warning "argument 1 range \\\[13, \[0-9\]+\\\] exceeds maximum object size 12" "missing range info for short" { xfail { ! { aarch64*-*-* arm*-*-* alpha*-*-* avr-*-* ia64-*-* mips*-*-* powerpc*-*-* sparc*-*-* s390x-*-* visium-*-* } } } } */
 TEST (int, INT_MIN + 2, ALLOC_MAX);    /* { dg-warning "argument 1 range \\\[13, \[0-9\]+\\\] exceeds maximum object size 12" } */
 TEST (int, -3, ALLOC_MAX);             /* { dg-warning "argument 1 range \\\[13, \[0-9\]+\\\] exceeds maximum object size 12" } */
 TEST (int, -2, ALLOC_MAX);             /* { dg-warning "argument 1 range \\\[13, \[0-9\]+\\\] exceeds maximum object size 12" } */
index a124a8791ad6e046a59fe1eec130123b935316bd..3be888672020b7fa5ab170e0f0807b7c99025af8 100644 (file)
@@ -5,7 +5,7 @@
    functions decorated with attribute alloc_size that either overflow or
    exceed the default maximum object size (with -Walloc-size-larger-than
    not explicitly specified).  */
-/* { dg-do compile } */
+/* { dg-do compile { target size32plus } } */
 /* { dg-options "-O2 -Wall" } */
 
 #define SCHAR_MAX  __SCHAR_MAX__
index fd7d7ade772f4818b5de17a3a74b96e90e63b2fa..cafcfe38225668d0203a55b4fe9f1410765f5271 100644 (file)
@@ -162,7 +162,7 @@ test_size_cst (void)
   sink (f_size_2 (   0, 1234));
   sink (f_size_2 (   1, 1234));
   sink (f_size_2 (   2, 1234));  /* { dg-warning "product .2 \\* 1234. of arguments 1 and 2 exceeds maximum object size \[0-9\]+" } */
-  sink (f_size_2 (1234, 1234));  /* { dg-warning "product .1234 \\* 1234. of arguments 1 and 2 exceeds maximum object size 1234" } */
+  sink (f_size_2 (1234, 1234));  /* { dg-warning "product .1234 \\* 1234. of arguments 1 and 2 exceeds (.SIZE_MAX.|maximum object size 1234)" } */
   sink (f_size_2 (1235, 1234));  /* { dg-warning "argument 1 value .1235. exceeds maximum object size 1234" } */
   sink (f_size_2 (1234, 1235));  /* { dg-warning "argument 2 value .1235. exceeds maximum object size 1234" } */
   sink (f_size_2 (1234, max));  /* { dg-warning "argument 2 value .\[0-9\]+. exceeds maximum object size 1234" } */
index 8789c657a2f137f53a10b9f1bf0e754c835c7baa..4c70236d88fa3d0f517f5c93e17ad965621a4069 100644 (file)
@@ -7,7 +7,11 @@ unsigned v = 4;
 unsigned long long __attribute__((noipa))
 foo (unsigned x)
 {
+#if __SIZEOF_INT__ == 2
+  __UINT32_TYPE__ a = v;
+#else
   unsigned a = v;
+#endif
   a &= 1;
   x |= 0 < a;
   a >>= 31;
index 57eb4781d4da1ac1c3aeb77b322ff1c36b0ddd57..0049f371b3d14833df4cd7e1347a43a2bc646deb 100644 (file)
@@ -1,5 +1,10 @@
 /* { dg-options "-Os -fdump-tree-pre-details" } */
 
+#if __SIZEOF_INT__ == 2
+#define unsigned __UINT32_TYPE__
+#define int __INT32_TYPE__
+#endif
+
 unsigned a;
 int b, c;
 
index 735ef3c6dc8f62bf43f05e999fe1d539721ed7ea..ddf662f76a1c33d3a124642e82fc7def24b6b1ad 100644 (file)
@@ -1,6 +1,6 @@
 /* PR middle-end/83463 */
 /* { dg-do compile } */
-/* { dg-options "-O2 -Wrestrict" } */
+/* { dg-options "-O2 -Wrestrict -Wno-pointer-to-int-cast" } */
 
 int *a;
 void *memcpy ();
index c6db68af2c5ed3af6bfb672d07d87170e7084462..fdbc1912fb92fdffb7558f7267d250921af1c18d 100644 (file)
@@ -1,5 +1,5 @@
 /* PR c/83844 */
-/* { dg-do compile } */
+/* { dg-do compile { target int32plus } } */
 /* { dg-options "-O0 -Wall" } */
 
 typedef unsigned long long __u64 __attribute__((aligned(4),warn_if_not_aligned(8)));
index c0b95fc38ecba66d25d9708020f529eb5e64800f..784dfd5dd4c202cf10d9ea48986dae997714a05a 100644 (file)
@@ -1,4 +1,4 @@
-/* { dg-do compile } */
+/* { dg-do compile { target size32plus } } */
 /* { dg-options "-O3 -ftree-loop-distribute-patterns -fdump-tree-ldist-details" } */
 
 #define k 1335
index f59e9096d2cac349122bb2e4e7d7b78fb7fa77ab..fa8bdfba2fcb8a8d4beb429a646870db7b4fc6fe 100644 (file)
@@ -1,4 +1,4 @@
-/* { dg-do run } */
+/* { dg-do run { target size32plus } } */
 /* { dg-options "-O3 -ftree-loop-distribute-patterns -fdump-tree-ldist-details" } */
 /* { dg-skip-if "too big data segment" { visium-*-* } } */
 
index 4420139dedb85b348955487209f6923d8def1fb9..d2492375dc81ed9a09c05d1e2e911e3374af2569 100644 (file)
@@ -1,4 +1,4 @@
-/* { dg-do compile } */
+/* { dg-do compile { target size32plus } } */
 /* { dg-options "-O2 -ftree-loop-distribution -ftree-loop-distribute-patterns -fdump-tree-ldist-details" } */
 
 #define M (256)
index 9ce93e80b07a110a6b0ea2d1ba4bdcc676682612..108fcf69833de1e948405e096f2f67c463c492de 100644 (file)
@@ -1,4 +1,4 @@
-/* { dg-do compile } */
+/* { dg-do compile { target size32plus } } */
 /* { dg-options "-O2 -ftree-loop-distribution -ftree-loop-distribute-patterns -fdump-tree-ldist-details" } */
 
 #define M (256)
index f31860a574ed3d3931f1ac889fadf98e44a976cc..8619a0cf5583e8b1868a0afcf6100cf1ec836dec 100644 (file)
@@ -1,4 +1,4 @@
-/* { dg-do compile } */
+/* { dg-do compile { target size32plus } } */
 /* { dg-options "-O2 -ftree-loop-distribution -ftree-loop-distribute-patterns -fdump-tree-ldist-details" } */
 
 #define M (256)
index 60a9f743b1b15021c451ff66663bd54548c0bb9c..bd8c7641144c28b23e91a35abfddd724527ffc16 100644 (file)
@@ -1,4 +1,4 @@
-/* { dg-do compile } */
+/* { dg-do compile { target size32plus } } */
 /* { dg-options "-O2 -ftree-loop-distribution -ftree-loop-distribute-patterns -fdump-tree-ldist-details" } */
 
 #define M (256)
index 477d222fb3b75b70db0e0336677c25fbcf79c8fc..e8539d225a80fda04c8def5cef99c3bc8e14545a 100644 (file)
@@ -1,4 +1,4 @@
-/* { dg-do compile } */
+/* { dg-do compile { target size32plus } } */
 /* { dg-options "-O2 -ftree-loop-distribution -ftree-loop-distribute-patterns -fdump-tree-ldist-details" } */
 
 #define M (256)
index 24d27fde9daa13277f716315f89bbfd2401ad3a1..9e0cedf4fa36ffc6973df5e7af2ff791d9a36398 100644 (file)
@@ -1,4 +1,4 @@
-/* { dg-do compile } */
+/* { dg-do compile { target size32plus } } */
 /* { dg-options "-O2 -ftree-loop-distribution -ftree-loop-distribute-patterns -fdump-tree-ldist-details" } */
 
 #define N (1024)
index 3d68a851f5733f216955ba4b350fa61e86e63184..3e37b304932ec24d9226b1c0c3c799f15c45dde9 100644 (file)
@@ -1,4 +1,4 @@
-/* { dg-do compile } */
+/* { dg-do compile { target size32plus } } */
 /* { dg-options "-O2 -ftree-loop-distribution" } */
 
 #define X (3.0)
index 445d23d114b0ae6f546ed4a3c93a3a6563fea04d..a265b82f7c6a9821f010458033171dd3b8bc2dd8 100644 (file)
@@ -1,4 +1,4 @@
-/* { dg-do compile } */
+/* { dg-do compile { target size32plus } } */
 /* { dg-options "-O2 -ftree-loop-distribution -ftree-loop-distribute-patterns -fdump-tree-ldist-details" } */
 
 #define M (256)
index 0e843f4dd5514d1de8a1c36dfdf335353ed4a727..07393f0a665afd7000782fda1edf899bb09f488e 100644 (file)
@@ -1,4 +1,4 @@
-/* { dg-do compile } */
+/* { dg-do compile { target size32plus } } */
 /* { dg-options "-O2 -ftree-loop-distribution -ftree-loop-distribute-patterns -fdump-tree-ldist-details" } */
 
 #define M (256)