167754Smsmith// PRs 16387 and 16389
267754Smsmith// We were treating alignof (sa.a) as alignof (typeof (sa.a)), which is
367754Smsmith// wrong for some fields.
467754Smsmith
567754Smsmith// { dg-do run }
667754Smsmith
767754Smsmithextern "C" void abort();
8217365Sjkim
9217365Sjkimstruct A
1070243Smsmith{
1167754Smsmith  double a;
12217365Sjkim} sa;
13217365Sjkim
14217365Sjkimstruct B
15217365Sjkim{
16217365Sjkim  char c;
17217365Sjkim  double b;
18217365Sjkim} sb;
19217365Sjkim
20217365Sjkimint main()
21217365Sjkim{
22217365Sjkim  if (__alignof (sa) != __alignof (sa.a)
23217365Sjkim      || __alignof (sb) != __alignof (sb.b))
24217365Sjkim    abort();
25217365Sjkim}
2667754Smsmith