@@ -109,9 +109,10 @@ class Module;
109109#define DEBUG_TYPE " cgscc"
110110
111111// / Extern template declaration for the analysis set for this IR unit.
112- extern template class AllAnalysesOn <LazyCallGraph::SCC>;
112+ extern template class LLVM_TEMPLATE_ABI AllAnalysesOn<LazyCallGraph::SCC>;
113113
114- extern template class AnalysisManager <LazyCallGraph::SCC, LazyCallGraph &>;
114+ extern template class LLVM_TEMPLATE_ABI
115+ AnalysisManager<LazyCallGraph::SCC, LazyCallGraph &>;
115116
116117// / The CGSCC analysis manager.
117118// /
@@ -204,9 +205,10 @@ CGSCCAnalysisManagerModuleProxy::run(Module &M, ModuleAnalysisManager &AM);
204205
205206// Ensure the \c CGSCCAnalysisManagerModuleProxy is provided as an extern
206207// template.
207- extern template class InnerAnalysisManagerProxy <CGSCCAnalysisManager, Module>;
208+ extern template class LLVM_TEMPLATE_ABI
209+ InnerAnalysisManagerProxy<CGSCCAnalysisManager, Module>;
208210
209- extern template class OuterAnalysisManagerProxy <
211+ extern template class LLVM_TEMPLATE_ABI OuterAnalysisManagerProxy<
210212 ModuleAnalysisManager, LazyCallGraph::SCC, LazyCallGraph &>;
211213
212214// / A proxy from a \c ModuleAnalysisManager to an \c SCC.
@@ -403,10 +405,11 @@ class FunctionAnalysisManagerCGSCCProxy
403405private:
404406 friend AnalysisInfoMixin<FunctionAnalysisManagerCGSCCProxy>;
405407
406- static AnalysisKey Key;
408+ LLVM_ABI static AnalysisKey Key;
407409};
408410
409- extern template class OuterAnalysisManagerProxy <CGSCCAnalysisManager, Function>;
411+ extern template class LLVM_TEMPLATE_ABI
412+ OuterAnalysisManagerProxy<CGSCCAnalysisManager, Function>;
410413
411414// / A proxy from a \c CGSCCAnalysisManager to a \c Function.
412415using CGSCCAnalysisManagerFunctionProxy =
0 commit comments