]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
pr57793.c: Add expected error messages for targets with small integers.
authorNick Clifton <nickc@redhat.com>
Fri, 25 Oct 2013 09:04:53 +0000 (09:04 +0000)
committerNick Clifton <nickc@gcc.gnu.org>
Fri, 25 Oct 2013 09:04:53 +0000 (09:04 +0000)
* c-c++-common/pr57793.c: Add expected error messages for
targets with small integers.
* gcc.dg/c99-stdint-1.c: Only run on 32-bit plus targets.
* gcc.dg/c99-stdint-2.c: Likewise.
* gcc.dg/cdce1.c: Likewise.
* gcc.dg/fold-overflow-1.c: Likewise.
* gcc.dg/utf-cvt.c: Likewise.
* gcc.dg/ftrapv-1.c: Only run on targets that support trapping
arithmetic.
* gcc.dg/ftrapv-2.c: Likewise.
* gcc.dg/pr30286.c: Likewise.
* gcc.dg/pr19340.c: Only run on targets that support
scheduling.
* lib/target-supports.exp (check_effective_target_trapping): New
proc.  Returns true if the target supports trapping arithmetic.

From-SVN: r204053

13 files changed:
gcc/testsuite/ChangeLog
gcc/testsuite/c-c++-common/pr57793.c
gcc/testsuite/gcc.dg/c99-stdint-1.c
gcc/testsuite/gcc.dg/c99-stdint-2.c
gcc/testsuite/gcc.dg/cdce1.c
gcc/testsuite/gcc.dg/fold-overflow-1.c
gcc/testsuite/gcc.dg/ftrapv-1.c
gcc/testsuite/gcc.dg/ftrapv-2.c
gcc/testsuite/gcc.dg/pr19340.c
gcc/testsuite/gcc.dg/pr30286.c
gcc/testsuite/gcc.dg/pr38364.c
gcc/testsuite/gcc.dg/utf-cvt.c
gcc/testsuite/lib/target-supports.exp

index 6ffba19f2d32ac2f66214df3df049da22511735a..3b99bfb90cca764c5c81e5a567529389d7bec7f1 100644 (file)
@@ -1,3 +1,21 @@
+2013-10-24  Nick Clifton  <nickc@redhat.com>
+
+       * c-c++-common/pr57793.c: Add expected error messages for
+       targets with small integers.
+       * gcc.dg/c99-stdint-1.c: Only run on 32-bit plus targets.
+       * gcc.dg/c99-stdint-2.c: Likewise.
+       * gcc.dg/cdce1.c: Likewise.
+       * gcc.dg/fold-overflow-1.c: Likewise.
+       * gcc.dg/utf-cvt.c: Likewise.
+       * gcc.dg/ftrapv-1.c: Only run on targets that support trapping
+       arithmetic.
+       * gcc.dg/ftrapv-2.c: Likewise.
+       * gcc.dg/pr30286.c: Likewise.
+       * gcc.dg/pr19340.c: Only run on targets that support
+       scheduling.
+       * lib/target-supports.exp (check_effective_target_trapping): New
+       proc.  Returns true if the target supports trapping arithmetic.
+
 2013-10-25  Tobias Burnus  <burnus@net-b.de>
 
        * g++.dg/parse/ivdep.C: New.
index d66fadaa1f754a2252743155bc641481d6a95142..f2719529ebb2feb7b0c06c1c28f17bf17703c254 100644 (file)
@@ -3,8 +3,8 @@
 struct A { unsigned a : 1; unsigned b : 1; };
 struct B     /* { dg-error "type .B. is too large" "" { target { c++ && ilp32 } } } */
 {
-  unsigned char c[0x40000000];
-  unsigned char d[0x40000ff0];
+  unsigned char c[0x40000000]; /* { dg-error "size of array .c. is too large" "" { target { ! int32plus } } } */
+  unsigned char d[0x40000ff0];/* { dg-error "size of array .d. is too large" "" { target { ! int32plus } } } */
   struct A e;
 }; /* { dg-error "type .struct B. is too large" "" { target { c && ilp32 } } } */
 
index 89bdec809f822c6f3cc3a29bb477dc89291a31ca..530d13025e7998f7fc417a536d8f89ef23ad1bea 100644 (file)
@@ -9,6 +9,7 @@
    version).  */
 /* { dg-do compile } */
 /* { dg-options "-std=iso9899:1999 -pedantic-errors -fhosted" } */
+/* { dg-require-effective-target ptr32plus } */
 
 #include <limits.h>
 #include <stdint.h>
@@ -214,7 +215,6 @@ test_max (void)
 void
 test_misc_limits (void)
 {
-/* { dg-bogus  "size" "ptrdiff is 16bits" { xfail avr-*-* } 56 } */
   CHECK_SIGNED_LIMITS_2(__PTRDIFF_TYPE__, PTRDIFF_MIN, PTRDIFF_MAX, -65535L, 65535L);
 #ifndef SIGNAL_SUPPRESS
   CHECK_LIMITS_2(sig_atomic_t, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, -127, 127, 255);
index d1be0fb6332fef30549a94500c137b5bf8746b9d..1784b0c413e20348844dc3e73ef8cd9cba17b560 100644 (file)
@@ -2,7 +2,7 @@
    Freestanding version.  */
 /* { dg-do compile } */
 /* { dg-options "-std=iso9899:1999 -pedantic-errors -ffreestanding" } */
-/* { dg-xfail-if "ptrdiff size is 16bits" { avr-*-* } } */
+/* { dg-require-effective-target ptr32plus } */
 /* The test is that there are no diagnostics, so just include the
    hosted version.  */
 #include "c99-stdint-1.c"
index 3bd35ecb78675bd810bddbe788181c6576e39da3..2123f7fd8e9c0b68ae3fa753b8c4c3086affdfca 100644 (file)
@@ -1,6 +1,7 @@
 /* { dg-do  run  } */
 /* { dg-options "-O2 -fmath-errno -fdump-tree-cdce-details  -lm" } */
-/* { dg-final { scan-tree-dump  "cdce1.c:16: note: function call is shrink-wrapped into error conditions\."  "cdce" } } */
+/* { dg-require-effective-target int32plus } */
+/* { dg-final { scan-tree-dump  "cdce1.c:17: note: function call is shrink-wrapped into error conditions\."  "cdce" } } */
 /* { dg-final { cleanup-tree-dump "cdce" } } */
 /* { dg-require-effective-target large_double } */
 
index 8fddc9fc0ee8d9a2b3cc99f3e5058b7434aa64c2..4f45b35ee45da04548be36375025844960846a4e 100644 (file)
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-skip-if "consts are shorts, not longs" { "m32c-*-*" "avr-*-*" } { "*" } { "" } } */
+/* { dg-require-effective-target int32plus } */
 /* { dg-skip-if "No Inf support" { spu-*-* } } */
 /* { dg-options "-O -ftrapping-math" } */
 
index 44eb176b50d39cecfa4c82f87f669bb7cdb6faf0..86bd802cf13eb30477b32e16eb06b52a08766ed2 100644 (file)
@@ -7,6 +7,7 @@
 
 /* { dg-do run } */
 /* { dg-options "-ftrapv" } */
+/* { dg-require-effective-target trapping } */
 
 __attribute__((noinline)) int
 mulv(int a, int b)
index d79b86dde9c23cc50c6260cc5b067e9731a6f563..7d765747c9c3d0b34d136a863c4f7a19e2c85a1a 100644 (file)
@@ -8,6 +8,7 @@
 
 /* { dg-do run } */
 /* { dg-options "-ftrapv" } */
+/* { dg-require-effective-target trapping } */
 
 extern void abort(void);
 extern long labs(long);
index 4a665910a91bf6873c48797c4a5735b4b08f042f..c75d35d1d01a8755bca00133932f87a7c1707424 100644 (file)
@@ -1,6 +1,6 @@
 /* { dg-do compile } */
 /* { dg-options "-O1 -fschedule-insns2 -fsched2-use-superblocks" } */
-/* { dg-skip-if "No scheduling" { mmix-*-* cris-*-* crisv32-*-* fido-*-* m68k-*-* m32c-*-* avr-*-* moxie-*-* } { "*" } { "" } } */
+/* { dg-require-effective-target scheduling } */
 
 extern double f (double x);
 
index 9ec49b4231ada862d988a5cfc83aef563c8e6867..d35eacd807a9b2246bb06756ae7541cb808b404b 100644 (file)
@@ -1,6 +1,7 @@
 /* PR middle-end/30286 */
 /* { dg-do run } */
 /* { dg-options "-O2 -ftrapv" } */
+/* { dg-require-effective-target trapping } */
 
 extern void abort (void);
 struct S { struct S *s; };
index 23f72de74ee41cf07bc2be681e841967f87af2b6..6b22e9d78e986870ed11270a1f026bb0ab8b21ac 100644 (file)
@@ -1,6 +1,7 @@
 /* PR middle-end/38364 */
 /* { dg-do run } */
 /* { dg-options "-O2 -ftrapv" } */
+/* { dg-require-effective-target trapping } */
 
 extern void abort (void);
 
index 7f51179eeb47d624393df3c705bbda6b9cf1e037..d6f18eeade72d5595d01387e5b8cb7176dd15203 100644 (file)
@@ -1,7 +1,7 @@
 /* Contributed by Kris Van Hees <kris.van.hees@oracle.com> */
 /* Test the char16_t and char32_t promotion rules. */
 /* { dg-do compile } */
-/* { dg-excess-errors "short and int are 16bit" { target { "avr-*-*" } } } */
+/* { dg-require-effective-target int32plus } */
 /* { dg-options "-std=gnu99 -Wall -Wconversion -Wsign-conversion" } */
 
 typedef __CHAR16_TYPE__ char16_t;
index 8701cf6c21df120f7e15e958e7ca5cd55451eee1..5ca0b76d5fc187c391b3724fc5f36c679a12af1a 100644 (file)
@@ -701,6 +701,14 @@ proc check_effective_target_scheduling {} {
     } "-fschedule-insns"]
 }
 
+# Return 1 if trapping arithmetic is available, 0 otherwise.
+
+proc check_effective_target_trapping {} {
+    return [check_no_compiler_messages scheduling object {
+        add (int a, int b) { return a + b; }
+    } "-ftrapv"]
+}
+
 # Return 1 if compilation with -fgraphite is error-free for trivial 
 # code, 0 otherwise.