https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65936
Markus Trippelsdorf <trippels at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2015-04-30 CC| |trippels at gcc dot gnu.org Known to work| |5.0 Ever confirmed|0 |1 --- Comment #1 from Markus Trippelsdorf <trippels at gcc dot gnu.org> --- markus@x4 tmp % cat test.ii class A; template <typename> struct B { typedef A type; }; template <class T> class C : public B<T>::type { } __attribute__ ((__may_alias__)); class A { operator const C<int> &() { return *static_cast<const C<int> *> (this); } }; markus@x4 tmp % g++ -c test.ii test.ii: In member function ‘A::operator const C<int>&()’: test.ii:13:72: internal compiler error: canonical types differ for identical types const C<int>* and const C<int>*