// 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/Darwin ABI increases struct alignment for first member double" { powerpc-ibm-aix* || { ilp32 && powerpc-*-darwin* } } } 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(); }