1 2 3 4 5 6 7 8 9 10 11 12 13
/* { dg-do compile } */ /* { dg-options "-Wstrict-aliasing=2 -O2" } */ double x; template <typename T> T *foo(void) { int a[2]; float *y = (float *)a; /* { dg-bogus "strict-aliasing" } */ return (T *)&x; /* { dg-bogus "strict-aliasing" } */ }