view gcc/testsuite/g++.dg/ext/alignof2.C @ 158:494b0b89df80 default tip

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 25 May 2020 18:13:55 +0900
parents 1830386684a0
children
line wrap: on
line source

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