summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/ext/alignof2.C
blob: 8bc8a9c01afe6c56b0658a922e13f08f3958be80 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// PRs 16387 and 16389
// We were treating alignof (sa.a) as alignof (typeof (sa.a)), which is
// wrong for some fields.

// { dg-do run }

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();
}