diff options
Diffstat (limited to 'contrib/llvm-project/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp')
-rw-r--r-- | contrib/llvm-project/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/contrib/llvm-project/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp b/contrib/llvm-project/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp index b280a1359d2f..7476b1076d10 100644 --- a/contrib/llvm-project/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp +++ b/contrib/llvm-project/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp @@ -53,6 +53,8 @@ CreateFrontendBaseAction(CompilerInstance &CI) { case DumpTokens: return std::make_unique<DumpTokensAction>(); case EmitAssembly: return std::make_unique<EmitAssemblyAction>(); case EmitBC: return std::make_unique<EmitBCAction>(); + case EmitCIR: + llvm_unreachable("CIR suppport not built into clang"); case EmitHTML: return std::make_unique<HTMLPrintAction>(); case EmitLLVM: return std::make_unique<EmitLLVMAction>(); case EmitLLVMOnly: return std::make_unique<EmitLLVMOnlyAction>(); @@ -65,6 +67,8 @@ CreateFrontendBaseAction(CompilerInstance &CI) { return std::make_unique<GenerateModuleFromModuleMapAction>(); case GenerateModuleInterface: return std::make_unique<GenerateModuleInterfaceAction>(); + case GenerateReducedModuleInterface: + return std::make_unique<GenerateReducedModuleInterfaceAction>(); case GenerateHeaderUnit: return std::make_unique<GenerateHeaderUnitAction>(); case GeneratePCH: return std::make_unique<GeneratePCHAction>(); @@ -179,9 +183,13 @@ CreateFrontendAction(CompilerInstance &CI) { #endif // Wrap the base FE action in an extract api action to generate - // symbol graph as a biproduct of comilation ( enabled with - // --emit-symbol-graph option ) - if (!FEOpts.SymbolGraphOutputDir.empty()) { + // symbol graph as a biproduct of compilation (enabled with + // --emit-symbol-graph option) + if (FEOpts.EmitSymbolGraph) { + if (FEOpts.SymbolGraphOutputDir.empty()) { + CI.getDiagnostics().Report(diag::warn_missing_symbol_graph_dir); + CI.getFrontendOpts().SymbolGraphOutputDir = "."; + } CI.getCodeGenOpts().ClearASTBeforeBackend = false; Act = std::make_unique<WrappingExtractAPIAction>(std::move(Act)); } |