/* PR c/53037.  */
/* { dg-do compile } */
/* { dg-options "-O0 -Wpacked-not-aligned" } */

typedef int int32_t __attribute__((mode (__SI__)));

struct __attribute__ ((aligned (8))) S8 { char a[8]; };
struct __attribute__ ((packed)) S1 { /* { dg-warning "alignment 1 of 'S1' is less than 8" } */
  struct S8 s8;
};

struct __attribute__ ((packed, aligned (8))) S2 {
  struct S8 s8;
};

struct __attribute__ ((packed, aligned (8))) S3 {
  int32_t i1;
  struct S8 s8; /* { dg-warning "'S3::s8' offset 4 in 'S3' isn't aligned to 8" } */
};

struct __attribute__ ((packed, aligned (8))) S4 {
  int32_t i1;
  int32_t i2;
  struct S8 s8;
};

struct __attribute__ ((packed)) S5 {
   long long ll;
};

union __attribute__ ((packed)) U1 { /* { dg-warning "alignment 1 of 'U1' is less than 8" } */
  int32_t i1;
  struct S8 s8;
};

union __attribute__ ((packed, aligned (8))) U2 {
  int32_t i1;
  struct S8 s8;
};
