https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120900

H.J. Lu <hjl.tools at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|WAITING                     |NEW

--- Comment #2 from H.J. Lu <hjl.tools at gmail dot com> ---
(In reply to Andrew Pinski from comment #1)
> Are you sure it is just where the aligned attribute is located?
> 
> Because I get a warning for both the C and C++ if I use the following
> definition:
> typedef struct __attribute__((aligned(32))) c1  {
>   long double a;
>   long double b;
> } c1 ;

They are different.

typedef struct __attribute__((aligned(32))) c1  {
  long double a;
  long double b;
} c1;

is a type aligned to 32 bytes.

typedef struct {
  long double a;
  long double b;
} c1 __attribute__((aligned(32)));

is a type aligned to 32 bytes, whose canonical is

typedef struct {
  long double a;
  long double b;
} c1;

Reply via email to