forked from OSchip/llvm-project
Revert r260265, "clang-cl: Support loading plugins on Windows"
It causes memory exhaust on mingw-w64(x64). Investigating. llvm-svn: 260536
This commit is contained in:
parent
cf0f0069e7
commit
d8cd060422
|
@ -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
|
||||
=======================
|
||||
|
|
|
@ -121,4 +121,3 @@ protected:
|
|||
|
||||
static FrontendPluginRegistry::Add<PrintFunctionNamesAction>
|
||||
X("print-fns", "print function names");
|
||||
LLVM_EXPORT_REGISTRY(FrontendPluginRegistry)
|
||||
|
|
|
@ -189,16 +189,9 @@ bool clang::ExecuteCompilerInvocation(CompilerInstance *Clang) {
|
|||
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.
|
||||
|
|
Loading…
Reference in New Issue