https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102468
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |INVALID See Also| |https://gcc.gnu.org/bugzill | |a/show_bug.cgi?id=62240, | |https://gcc.gnu.org/bugzill | |a/show_bug.cgi?id=11764, | |https://gcc.gnu.org/bugzill | |a/show_bug.cgi?id=56090 --- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- This is not a GCC bug but rather a bug in MSVC. Note both ICC and Clang accept it. Parent::Grandparent names the type, not the constructor. This is unlike name::name. See DR 147 also: http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#147 I think MSVC does not inject the base class name correctly.