From 15fca21a3e563ae90a5cc4ae00c36cc0c8e3f6f9 Mon Sep 17 00:00:00 2001 From: Martin Sebor Date: Fri, 19 Feb 2016 18:37:40 +0000 Subject: [PATCH] PR testsuite/69573 - FAIL: gcc.dg/pr61053.c (test for excess errors) 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 PR testsuite/69573 * gcc.dg/pr61053.c: Tweaked test to avoid bogus failures. From-SVN: r233564 --- gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/gcc.dg/pr61053.c | 20 +++++++++++++++----- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index c60de26daa7d..adc10721b310 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2016-02-19 Martin Sebor + + PR testsuite/69573 + * gcc.dg/pr61053.c: Tweaked test to avoid bogus failures. + 2016-02-19 Jakub Jelinek PR c++/69850 diff --git a/gcc/testsuite/gcc.dg/pr61053.c b/gcc/testsuite/gcc.dg/pr61053.c index e270420309f9..1c090e062b6b 100644 --- a/gcc/testsuite/gcc.dg/pr61053.c +++ b/gcc/testsuite/gcc.dg/pr61053.c @@ -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; -- 2.47.2