view gcc/testsuite/g++.dg/ext/alignof2.C @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents 04ced10e8804
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();
}