1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
// { dg-do compile } // { dg-options "-Wstrict-aliasing=2 -fstrict-aliasing" } struct foo { char c; char d; short s; int i; } bar; int sub1 (long long int foobar) { struct foo *tmp = (struct foo *) &foobar; // { dg-warning "type-punned pointer might" "" } return tmp->i; }