tot win component bots no longer compile |
|||
Issue descriptionStarted here: https://build.chromium.org/p/chromium.fyi/builders/ClangToTWin64%28dbg%29/builds/8964 That build is some transient pdb writing error, but the next build has: FAILED: base.dll base.dll.lib base.dll.pdb C:/b/depot_tools/win_tools-2_7_6_bin/python/bin/python.exe ../../build/toolchain/win/tool_wrapper.py link-wrapper environment.x64 False link.exe /nologo /IMPLIB:./base.dll.lib /DLL /OUT:./base.dll /PDB:./base.dll.pdb @./base.dll.rsp base.dll.exp : error LNK2001: unresolved external symbol "private: class std::unique_ptr<class base::internal::`anonymous namespace'::SchedulerWorkerDelegate,struct std::default_delete<class base::internal::`anonymous namespace'::SchedulerWorkerDelegate> > __cdecl base::internal::SchedulerSingleThreadTaskRunnerManager::CreateSchedulerWorkerDelegate<class base::internal::`anonymous namespace'::SchedulerWorkerCOMDelegate>(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,int)" (??$CreateSchedulerWorkerDelegate@VSchedulerWorkerCOMDelegate@?A@internal@base@@@SchedulerSingleThreadTaskRunnerManager@internal@base@@AEAA?AV?$unique_ptr@VSchedulerWorkerDelegate@?A@internal@base@@U?$default_delete@VSchedulerWorkerDelegate@?A@internal@base@@@std@@@std@@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@4@H@Z) base.dll.exp : error LNK2001: unresolved external symbol "private: class std::unique_ptr<class base::internal::`anonymous namespace'::SchedulerWorkerDelegate,struct std::default_delete<class base::internal::`anonymous namespace'::SchedulerWorkerDelegate> > __cdecl base::internal::SchedulerSingleThreadTaskRunnerManager::CreateSchedulerWorkerDelegate<class base::internal::`anonymous namespace'::SchedulerWorkerDelegate>(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,int)" (??$CreateSchedulerWorkerDelegate@VSchedulerWorkerDelegate@?A@internal@base@@@SchedulerSingleThreadTaskRunnerManager@internal@base@@AEAA?AV?$unique_ptr@VSchedulerWorkerDelegate@?A@internal@base@@U?$default_delete@VSchedulerWorkerDelegate@?A@internal@base@@@std@@@std@@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@4@H@Z) base.dll.exp : error LNK2001: unresolved external symbol "private: class base::internal::SchedulerWorker * & __cdecl base::internal::SchedulerSingleThreadTaskRunnerManager::GetSharedSchedulerWorkerForTraits<class base::internal::`anonymous namespace'::SchedulerWorkerCOMDelegate>(class base::TaskTraits const &)" (??$GetSharedSchedulerWorkerForTraits@VSchedulerWorkerCOMDelegate@?A@internal@base@@@SchedulerSingleThreadTaskRunnerManager@internal@base@@AEAAAEAPEAVSchedulerWorker@12@AEBVTaskTraits@2@@Z) base.dll.exp : error LNK2001: unresolved external symbol "private: class base::internal::SchedulerWorker * & __cdecl base::internal::SchedulerSingleThreadTaskRunnerManager::GetSharedSchedulerWorkerForTraits<class base::internal::`anonymous namespace'::SchedulerWorkerDelegate>(class base::TaskTraits const &)" (??$GetSharedSchedulerWorkerForTraits@VSchedulerWorkerDelegate@?A@internal@base@@@SchedulerSingleThreadTaskRunnerManager@internal@base@@AEAAAEAPEAVSchedulerWorker@12@AEBVTaskTraits@2@@Z) ./base.dll : fatal error LNK1120: 4 unresolved externals This is at clang 315040. Last green was at clang 314975. So almost certainly due to r315025 :-(
,
Oct 9 2017
Thanks for reverting; I'll take a look today.
,
Oct 9 2017
Specializations of class member function templates don't get exported, but specializations of class template member functions to. Fun times :-)
template <typename> struct __declspec(dllexport) S { void foo(); };
template<> void S<int>::foo() {} // Exported.
struct __declspec(dllexport) T { template <typename> void bar(); };
template<> void T::bar<int>() {} // Not exported
I suppose that makes sense because class templates can have explicit instantiation declarations, but function templates can't (I think?).
,
Oct 9 2017
template <typename> struct __declspec(dllexport) U { template <typename> void baz(); };
template<> template<> void U<int>::baz<int>() {} // Not exported either.
,
Oct 10 2017
I believe I have a fix, but I'll wait until tomorrow when the bots calm down.
,
Oct 10 2017
|
|||
►
Sign in to add a comment |
|||
Comment 1 by r...@chromium.org
, Oct 6 2017