diff options
author | Vassil Vassilev <v.g.vassilev@gmail.com> | 2021-10-05 06:11:42 +0000 |
---|---|---|
committer | Vassil Vassilev <v.g.vassilev@gmail.com> | 2021-10-05 13:04:01 +0000 |
commit | f4f9ad0f5d8e8994c677c3712dff7585bf8bd963 (patch) | |
tree | f6bcf8b2bf37620045d5af5417c3022225cf93e2 /clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp | |
parent | e265644b324424bbc00185293594d3207150ee6e (diff) | |
download | llvm-f4f9ad0f5d8e8994c677c3712dff7585bf8bd963.zip llvm-f4f9ad0f5d8e8994c677c3712dff7585bf8bd963.tar.gz llvm-f4f9ad0f5d8e8994c677c3712dff7585bf8bd963.tar.bz2 |
Reland "[clang-repl] Allow loading of plugins in clang-repl."
Differential revision: https://reviews.llvm.org/D110484
Diffstat (limited to 'clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp')
-rw-r--r-- | clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp | 19 |
1 files changed, 1 insertions, 18 deletions
diff --git a/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp b/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp index b95851e..dc8409f 100644 --- a/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp +++ b/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp @@ -203,24 +203,7 @@ bool ExecuteCompilerInvocation(CompilerInstance *Clang) { return true; } - // Load any requested plugins. - for (const std::string &Path : Clang->getFrontendOpts().Plugins) { - std::string Error; - if (llvm::sys::DynamicLibrary::LoadLibraryPermanently(Path.c_str(), &Error)) - Clang->getDiagnostics().Report(diag::err_fe_unable_to_load_plugin) - << Path << Error; - } - - // Check if any of the loaded plugins replaces the main AST action - for (const FrontendPluginRegistry::entry &Plugin : - FrontendPluginRegistry::entries()) { - std::unique_ptr<PluginASTAction> P(Plugin.instantiate()); - if (P->getActionType() == PluginASTAction::ReplaceAction) { - Clang->getFrontendOpts().ProgramAction = clang::frontend::PluginAction; - Clang->getFrontendOpts().ActionName = Plugin.getName().str(); - break; - } - } + Clang->LoadRequestedPlugins(); // Honor -mllvm. // |