]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
PR testsuite/69573 - FAIL: gcc.dg/pr61053.c (test for excess errors)
authorMartin Sebor <msebor@redhat.com>
Fri, 19 Feb 2016 18:37:40 +0000 (18:37 +0000)
committerMartin Sebor <msebor@gcc.gnu.org>
Fri, 19 Feb 2016 18:37:40 +0000 (11:37 -0700)
Tested on x86_64 by running make check-c with
RUNTESTFLAGS='--target_board=unix/-m32/-m128bit-long-double dg.exp=pr61053.c'
gcc/testsuite/ChangeLog:
2016-01-30  Martin Sebor  <msebor@redhat.com>

PR testsuite/69573
* gcc.dg/pr61053.c: Tweaked test to avoid bogus failures.

From-SVN: r233564

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/pr61053.c

index c60de26daa7ddb8c528f6b2d2c3892738f3eec93..adc10721b3108d683f92322a9a2123b94189557c 100644 (file)
@@ -1,3 +1,8 @@
+2016-02-19  Martin Sebor  <msebor@redhat.com>
+
+       PR testsuite/69573
+       * gcc.dg/pr61053.c: Tweaked test to avoid bogus failures.
+
 2016-02-19  Jakub Jelinek  <jakub@redhat.com>
 
        PR c++/69850
index e270420309f9af77a77ef94b5c7965f58f065c38..1c090e062b6b9f159cb53ebc8c701e98c2794a73 100644 (file)
@@ -67,9 +67,19 @@ _Alignas (long double) double dld;
 
 _Alignas (char) long double ldc; /* { dg-error "cannot reduce alignment" } */
 _Alignas (short int) long double lds; /* { dg-error "cannot reduce alignment" } */
-_Alignas (int) long double ldi; /* { dg-error "cannot reduce alignment" "" { target { ! { ia32 } } } } */
-_Alignas (long int) long double ldl; /* { dg-error "cannot reduce alignment" "" { target { ! { ia32 } } } } */
-_Alignas (long long int) long double ldll; /* { dg-error "cannot reduce alignment" "" { target { ! { ia32 } } } } */
-_Alignas (float) long double ldf; /* { dg-error "cannot reduce alignment" "" { target { ! { ia32 } } } } */
-_Alignas (double) long double ldd; /* { dg-error "cannot reduce alignment" "" { target { ! { ia32 } } } } */
+
+#if __SIZEOF_LONG_DOUBLE__ == 12
+/* Get around PR testsuite/69573 - FAIL: gcc.dg/pr61053.c (test for excess
+   errors) on targets such as x86_64-apple-darwin15.3.0 where long double
+   is 16 bytes wide even in LP32.  */
+#  define X(T)   short
+#else
+#  define X(T)   T
+#endif
+
+_Alignas (X (int)) long double ldi; /* { dg-error "cannot reduce alignment" } */
+_Alignas (X (long int)) long double ldl; /* { dg-error "cannot reduce alignment" } */
+_Alignas (X (long long int)) long double ldll; /* { dg-error "cannot reduce alignment" } */
+_Alignas (X (float)) long double ldf; /* { dg-error "cannot reduce alignment" } */
+_Alignas (X (double)) long double ldd; /* { dg-error "cannot reduce alignment" } */
 _Alignas (long double) long double ldld;