On Thu, May 8, 2014 at 11:19 AM, Marek Polacek <pola...@redhat.com> wrote:
> On Wed, May 07, 2014 at 11:31:38AM -0700, H.J. Lu wrote:
>> > OK, though I'm not sure if the "lp64" conditions are right in the testcase
>>
>> It should be !ia32 instead of lp64.
>
> Ok, I changed lp64 to ! { ia32 } and committed the patch now.
>
>         Marek

The change is insufficient for x32, which has the same alignments
for floating point types and the integer types with the same size as
x86-64.  This patch is needed for x32.  OK for trunk and 4.8 branch?


-- 
H.J.
---
2014-09-02  H.J. Lu  <hongjiu...@intel.com>

* gcc.dg/pr61053.c: Updated for x32.

diff --git a/gcc/testsuite/gcc.dg/pr61053.c b/gcc/testsuite/gcc.dg/pr61053.c
index 4fd5319..5557784 100644
--- a/gcc/testsuite/gcc.dg/pr61053.c
+++ b/gcc/testsuite/gcc.dg/pr61053.c
@@ -31,17 +31,17 @@ _Alignas (long double) int ild;

 _Alignas (char) long int lic; /* { dg-error "cannot reduce alignment" } */
 _Alignas (short int) long int lis; /* { dg-error "cannot reduce alignment" } */
-_Alignas (int) long int lii; /* { dg-error "cannot reduce alignment"
"" { target { ! { ia32 } } } } */
+_Alignas (int) long int lii; /* { dg-error "cannot reduce alignment"
"" { target { ! { ia32 || x32 } } } } */
 _Alignas (long int) long int lil;
 _Alignas (long long int) long int lill;
-_Alignas (float) long int lif; /* { dg-error "cannot reduce
alignment" "" { target { ! { ia32 } } } } */
+_Alignas (float) long int lif; /* { dg-error "cannot reduce
alignment" "" { target { ! { ia32 || x32 } } } } */
 _Alignas (double) long int lid;
 _Alignas (long double) long int lild;

 _Alignas (char) long long int llic; /* { dg-error "cannot reduce
alignment" } */
 _Alignas (short int) long long int llis; /* { dg-error "cannot reduce
alignment" } */
 _Alignas (int) long long int llii; /* { dg-error "cannot reduce
alignment" "" { target { ! { ia32 } } } } */
-_Alignas (long int) long long int llil;
+_Alignas (long int) long long int llil; /* { dg-error "cannot reduce
alignment" "" { target { x32 } } } */
 _Alignas (long long int) long long int llill;
 _Alignas (float) long long int llif; /* { dg-error "cannot reduce
alignment" "" { target { ! { ia32 } } } } */
 _Alignas (double) long long int llid;
@@ -59,7 +59,7 @@ _Alignas (long double) float fld;
 _Alignas (char) double dc; /* { dg-error "cannot reduce alignment" } */
 _Alignas (short int) double ds; /* { dg-error "cannot reduce alignment" } */
 _Alignas (int) double di; /* { dg-error "cannot reduce alignment" ""
{ target { ! { ia32 } } } } */
-_Alignas (long int) double dl;
+_Alignas (long int) double dl; /* { dg-error "cannot reduce
alignment" "" { target { x32 } } } */
 _Alignas (long long int) double dll;
 _Alignas (float) double df; /* { dg-error "cannot reduce alignment"
"" { target { ! { ia32 } } } } */
 _Alignas (double) double dd;

Reply via email to