http://gcc.gnu.org/bugzilla/show_bug.cgi?id=61004
Bug ID: 61004 Summary: [4.9/4.10 Regression] Spurious warning: dereferencing type-punned pointer Product: gcc Version: 4.10.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: glisse at gcc dot gnu.org struct A{}; struct B:A{}; void f(A const&); int main(){ B b; f(b); } g++ -O2 -Wall x.cc -c x.cc: In function 'int main()': x.cc:6:6: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] f(b); ^ I think that's perfectly valid C++... (I don't have a 4.9 handy, I think I've been seeing this since before the branch, but please check before confirming the bug)