/* PR c/51628.  */
/* { dg-do compile } */
/* { dg-options "-O" } */

struct A { __complex int i; };
struct B { struct A a; };
struct C { struct B b __attribute__ ((packed)); };
/* { dg-warning "attribute ignored" "" { target default_packed } .-1 } */

extern struct C *p;

int*
foo1 (void)
{
  return &__real(p->b.a.i);
/* { dg-warning "may result in an unaligned pointer value" "" { target { ! default_packed } } .-1 } */
}

int*
foo2 (void)
{
  return &__imag(p->b.a.i);
/* { dg-warning "may result in an unaligned pointer value" "" { target { ! default_packed } } .-1 } */
}
