/* { dg-do compile } *//* { dg-options "-O2" } *//* Ensure that we don't crash when people decide to return the address of padding. */struct A
{char c;int i;};
A a;struct B
{char c, d;};union C
{
A *p;
B *q;C() :p(&a) {}char&foo() {return q->d; }};voidbar() {C().foo() =0; }