| // PRs 16387 and 16389 | |
| // We were treating alignof (sa.a) as alignof (typeof (sa.a)), which is | |
| // wrong for some fields. | |
| // { dg-do run } | |
| // { dg-xfail-run-if "AIX ABI increases struct alignment for first member double" { powerpc-ibm-aix* } } | |
| extern "C" void abort(); | |
| struct A | |
| { | |
| double a; | |
| } sa; | |
| struct B | |
| { | |
| char c; | |
| double b; | |
| } sb; | |
| int main() | |
| { | |
| if (__alignof (sa) != __alignof (sa.a) | |
| || __alignof (sb) != __alignof (sb.b)) | |
| abort(); | |
| } |