r260536 - Revert r260265, "clang-cl: Support loading plugins on Windows"
NAKAMURA Takumi via cfe-commits
cfe-commits at lists.llvm.org
Thu Feb 11 08:33:20 PST 2016
Author: chapuni
Date: Thu Feb 11 10:33:20 2016
New Revision: 260536
URL: http://llvm.org/viewvc/llvm-project?rev=260536&view=rev
Log:
Revert r260265, "clang-cl: Support loading plugins on Windows"
It causes memory exhaust on mingw-w64(x64). Investigating.
Modified:
cfe/trunk/docs/ClangPlugins.rst
cfe/trunk/examples/PrintFunctionNames/PrintFunctionNames.cpp
cfe/trunk/lib/FrontendTool/ExecuteCompilerInvocation.cpp
Modified: cfe/trunk/docs/ClangPlugins.rst
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/docs/ClangPlugins.rst?rev=260536&r1=260535&r2=260536&view=diff
==============================================================================
--- cfe/trunk/docs/ClangPlugins.rst (original)
+++ cfe/trunk/docs/ClangPlugins.rst Thu Feb 11 10:33:20 2016
@@ -37,14 +37,11 @@ Registering a plugin
====================
A plugin is loaded from a dynamic library at runtime by the compiler. To
-register a plugin in a library, use ``FrontendPluginRegistry::Add<>``.
-On Windows, you also need to export your plugin registry using
-``LLVM_EXPORT_REGISTRY``. Here is an example:
+register a plugin in a library, use ``FrontendPluginRegistry::Add<>``:
.. code-block:: c++
static FrontendPluginRegistry::Add<MyPlugin> X("my-plugin-name", "my plugin description");
- LLVM_EXPORT_REGISTRY(FrontendPluginRegistry)
Putting it all together
=======================
Modified: cfe/trunk/examples/PrintFunctionNames/PrintFunctionNames.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/examples/PrintFunctionNames/PrintFunctionNames.cpp?rev=260536&r1=260535&r2=260536&view=diff
==============================================================================
--- cfe/trunk/examples/PrintFunctionNames/PrintFunctionNames.cpp (original)
+++ cfe/trunk/examples/PrintFunctionNames/PrintFunctionNames.cpp Thu Feb 11 10:33:20 2016
@@ -121,4 +121,3 @@ protected:
static FrontendPluginRegistry::Add<PrintFunctionNamesAction>
X("print-fns", "print function names");
-LLVM_EXPORT_REGISTRY(FrontendPluginRegistry)
Modified: cfe/trunk/lib/FrontendTool/ExecuteCompilerInvocation.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/FrontendTool/ExecuteCompilerInvocation.cpp?rev=260536&r1=260535&r2=260536&view=diff
==============================================================================
--- cfe/trunk/lib/FrontendTool/ExecuteCompilerInvocation.cpp (original)
+++ cfe/trunk/lib/FrontendTool/ExecuteCompilerInvocation.cpp Thu Feb 11 10:33:20 2016
@@ -189,16 +189,9 @@ bool clang::ExecuteCompilerInvocation(Co
e = Clang->getFrontendOpts().Plugins.size(); i != e; ++i) {
const std::string &Path = Clang->getFrontendOpts().Plugins[i];
std::string Error;
- llvm::sys::DynamicLibrary DL(
- llvm::sys::DynamicLibrary::getPermanentLibrary(Path.c_str(), &Error));
- if (DL.isValid()) {
- // On Windows, we need to import the plugin front-end action
- // dynamically.
- LLVM_IMPORT_REGISTRY(FrontendPluginRegistry, DL);
- } else {
+ if (llvm::sys::DynamicLibrary::LoadLibraryPermanently(Path.c_str(), &Error))
Clang->getDiagnostics().Report(diag::err_fe_unable_to_load_plugin)
<< Path << Error;
- }
}
// Honor -mllvm.
More information about the cfe-commits
mailing list