c++: Implement __is_nothrow_invocable built-in trait
[official-gcc.git] / gcc / testsuite / g++.dg / pr53037-2.C
blobe716beed6abb9a56277d107cb459effb5589dabf
1 /* PR c/53037.  */
2 /* { dg-do compile } */
3 /* { dg-options "-O0 -Wpacked-not-aligned" } */
5 typedef int int32_t __attribute__((mode (__SI__)));
7 struct __attribute__ ((aligned (8))) S8 { char a[8]; };
8 struct __attribute__ ((packed)) S1 { /* { dg-warning "alignment 1 of 'S1' is less than 8" } */
9   struct S8 s8;
12 struct __attribute__ ((packed, aligned (8))) S2 {
13   struct S8 s8;
16 struct __attribute__ ((packed, aligned (8))) S3 {
17   int32_t i1;
18   struct S8 s8; /* { dg-warning "'S3::s8' offset 4 in 'S3' isn't aligned to 8" } */
21 struct __attribute__ ((packed, aligned (8))) S4 {
22   int32_t i1;
23   int32_t i2;
24   struct S8 s8;
27 struct __attribute__ ((packed)) S5 {
28    long long ll;
31 union __attribute__ ((packed)) U1 { /* { dg-warning "alignment 1 of 'U1' is less than 8" } */
32   int32_t i1;
33   struct S8 s8;
36 union __attribute__ ((packed, aligned (8))) U2 {
37   int32_t i1;
38   struct S8 s8;