Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gcc.dg/torture/alias-1.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 "-fschedule-insns" } */ /* { dg-require-effective-target scheduling } */ extern void abort (void) __attribute__((noreturn)); struct B { int a; int b;}; struct wrapper { union setconflict { struct S { char one1; struct B b1; } s; struct T { struct B b2; char two2; } t; } a; }; int main () { int sum = 0; int i; struct wrapper w; struct B *p; p = &w.a.s.b1; asm ("": "=r" (p):"0" (p)); p->a = 0; asm ("": "=r" (p):"0" (p)); sum += p->a; p = &w.a.t.b2; asm ("": "=r" (p):"0" (p)); p->b = 1; asm ("": "=r" (p):"0" (p)); sum += p->b; if (sum != 1) abort(); return 0; }