pr22615.C   [plain text]


/* { 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; }
};
void bar() { C().foo() = 0; }