diff --git a/include/llvm/IR/GCStrategy.h b/include/llvm/IR/GCStrategy.h index 15acfe443cd..c9b0a848ab7 100644 --- a/include/llvm/IR/GCStrategy.h +++ b/include/llvm/IR/GCStrategy.h @@ -188,6 +188,9 @@ public: /// register your GCMetadataPrinter subclass with the /// GCMetadataPrinterRegistery as well. typedef Registry GCRegistry; + +/// GCStrategy is instantiated in GCStrategy.cpp. +extern template class Registry; } #endif diff --git a/lib/IR/GCStrategy.cpp b/lib/IR/GCStrategy.cpp index 56e6946daf6..b451310f7f0 100644 --- a/lib/IR/GCStrategy.cpp +++ b/lib/IR/GCStrategy.cpp @@ -14,6 +14,8 @@ #include "llvm/IR/GCStrategy.h" +template class llvm::Registry; + using namespace llvm; GCStrategy::GCStrategy()