https://llvm.org/bugs/show_bug.cgi?id=26748
Bug ID: 26748 Summary: clang-cl fails to compile atlctrlw.h header from WTL (delayed template instantiation) Product: clang Version: trunk Hardware: PC OS: Windows NT Status: NEW Severity: normal Priority: P Component: C++ Assignee: unassignedclangb...@nondot.org Reporter: andreybokha...@gmail.com CC: dgre...@apple.com, llvm-bugs@lists.llvm.org Classification: Unclassified A simple reproducer: class CCommandBarCtrlBase { public: typedef int CMsgHookMap; }; template <class T> class CCommandBarCtrlImpl : public T { public: void foo() { void *p = new CMsgHookMap; // "new typename T::CMsgHookMap" works fine } }; void bar() { CCommandBarCtrlImpl<CCommandBarCtrlBase> x; x.foo(); } $ clang-cl H:/test.cpp -c H:/test.cpp(10,19) : error: unknown type name 'CMsgHookMap' void *p = new CMsgHookMap; // "new typename T::CMsgHookMap" works fine ^ 1 error generated. This construct is used in atlctrlw.h header (https://sourceforge.net/p/wtl/code/HEAD/tree/trunk/wtl/Include/atlctrlw.h#l995): ATLTRY(s_pmapMsgHook = new CMsgHookMap); "CMsgHookMap" is declared in a base class (https://sourceforge.net/p/wtl/code/HEAD/tree/trunk/wtl/Include/atlctrlw.h#l144): typedef ATL::CSimpleMap<DWORD, _MsgHookData*> CMsgHookMap; Yours, Andrey ===== Software Engineer Intel Compiler Team -- You are receiving this mail because: You are on the CC list for the bug.
_______________________________________________ llvm-bugs mailing list llvm-bugs@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs