1 /* { dg-do compile } */ 2 /* { dg-options "-Wstrict-aliasing=2 -O2 -Wall" } */ 3 4 int a[2]; 5 foo1(void)6double *foo1(void) 7 { 8 return (double *)a; /* { dg-warning "strict-aliasing" } */ 9 } 10 foo2(void)11double *foo2(void) 12 { 13 return (double *)&a[0]; /* { dg-warning "strict-aliasing" } */ 14 } 15 16 __complex__ double x; bar(void)17int *bar(void) 18 { 19 return (int *)&__imag__ x; /* { dg-warning "strict-aliasing" } */ 20 } 21