Created attachment 33135 [details] Source file demonstrating bug with may_alias If you compile the attached stand-alone test case with: g++ -S may_alias_bug.cc ...it compiles fine. If you compile with: g++ -DBUG -S may_alias_bug.cc ...it produces a compilation error: may_alias_bug2.cc:16:8: error: prototype for ‘Thing1::Thing1(Thing2)’ does not match any in class ‘Thing1’ This bug appears to exist at least as far back as GCC 4.4.7. The code compiles fine with Clang and with the Intel C++ compiler, as you can see by experimenting here: http://goo.gl/dDyljx
Fixed in GCC 6.1 and above.