Skip to content

Commit 5d9d904

Browse files
fsfodvgvassilev
authored andcommitted
Just put the definition for Registry head and tail back in source files
1 parent 8f840c9 commit 5d9d904

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

llvm/include/llvm/Support/Registry.h

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -137,20 +137,26 @@ namespace llvm {
137137
};
138138
};
139139

140-
template <typename T> typename Registry<T>::node *Registry<T>::Head = nullptr;
141-
template <typename T> typename Registry<T>::node *Registry<T>::Tail = nullptr;
142140
} // end namespace llvm
143141

144142
#ifdef _WIN32
145143
/// Instantiate a registry class.
146144
#define LLVM_INSTANTIATE_REGISTRY(REGISTRY_CLASS) \
147145
namespace llvm { \
146+
template <typename T> \
147+
typename Registry<T>::node *Registry<T>::Head = nullptr; \
148+
template <typename T> \
149+
typename Registry<T>::node *Registry<T>::Tail = nullptr; \
148150
template class LLVM_ABI_EXPORT Registry<REGISTRY_CLASS::type>; \
149151
}
150152
#else
151153
#define LLVM_INSTANTIATE_REGISTRY(REGISTRY_CLASS) \
152154
namespace llvm { \
153-
template class Registry<REGISTRY_CLASS>; \
155+
template <typename T> \
156+
typename Registry<T>::node *Registry<T>::Head = nullptr; \
157+
template <typename T> \
158+
typename Registry<T>::node *Registry<T>::Tail = nullptr; \
159+
template class Registry<REGISTRY_CLASS::type>; \
154160
}
155161
#endif
156162

0 commit comments

Comments
 (0)