Instantiate llvm::Registry<clang::PluginASTAction> in FrontendAction.cpp.

- Plugins don't need to export _ZN4llvm8Registry*.
  - Win32.DLL cannot merge common symbols among DLLs. Static members in llvm::Registry should be instantiated in a parent.

llvm-svn: 212821
This commit is contained in:
NAKAMURA Takumi 2014-07-11 15:06:24 +00:00
parent 767ee96534
commit ad4c06c656
3 changed files with 5 additions and 1 deletions

View File

@ -1 +0,0 @@
_ZN4llvm8Registry*

View File

@ -13,6 +13,9 @@
#include "clang/Frontend/FrontendAction.h"
#include "llvm/Support/Registry.h"
// Instantiated in FrontendAction.cpp.
extern template class llvm::Registry<clang::PluginASTAction>;
namespace clang {
/// The frontend plugin registry.

View File

@ -32,6 +32,8 @@
#include <system_error>
using namespace clang;
template class llvm::Registry<clang::PluginASTAction>;
namespace {
class DelegatingDeserializationListener : public ASTDeserializationListener {