Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gcc.dg/tree-ssa/pr69355.c @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
/* { dg-do run } */ /* { dg-options "-O -fno-strict-aliasing" } */ struct S { void *a; long double b; }; struct Z { long long l; short s; } __attribute__((packed)); struct S __attribute__((noclone, noinline)) foo (void *v, struct Z *z) { struct S t; t.a = v; *(struct Z *) &t.b = *z; return t; } struct Z gz; int main (int argc, char **argv) { struct S s; if (sizeof (long double) < sizeof (struct Z)) return 0; gz.l = 0xbeef; gz.s = 0xab; s = foo ((void *) 0, &gz); if ((((struct Z *) &s.b)->l != gz.l) || (((struct Z *) &s.b)->s != gz.s)) __builtin_abort (); return 0; }