http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54341
--- Comment #2 from Paolo Carlini <paolo.carlini at oracle dot com> 2012-08-21 11:46:12 UTC --- Reduced: template<typename T> struct enable_shared_from_this { constexpr enable_shared_from_this(); private: int mem; }; class VTableClass { public: virtual void someVirtualMethod() { } }; class SomeClass : public enable_shared_from_this< SomeClass >, public VTableClass { }; SomeClass* createInstance() { return new SomeClass; }