[PATCH] D102688: [clang-repl] Better match the underlying architecture.
Vassil Vassilev via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue May 18 06:41:38 PDT 2021
v.g.vassilev created this revision.
v.g.vassilev added reviewers: hubert.reinterpretcast, uweigand.
v.g.vassilev requested review of this revision.
In cases where `-fno-integrated-as` is specified we should overwrite the `EmitAssembly` action as well.
We also should rely on the target triple from the process at least until we implement out-of-process execution.
This patch should improve clang-repl on AIX.
Discussion available at: https://reviews.llvm.org/D96033
Repository:
rC Clang
https://reviews.llvm.org/D102688
Files:
clang/lib/Interpreter/IncrementalParser.cpp
clang/lib/Interpreter/Interpreter.cpp
Index: clang/lib/Interpreter/Interpreter.cpp
===================================================================
--- clang/lib/Interpreter/Interpreter.cpp
+++ clang/lib/Interpreter/Interpreter.cpp
@@ -157,7 +157,7 @@
ParseDiagnosticArgs(*DiagOpts, ParsedArgs, &Diags);
driver::Driver Driver(/*MainBinaryName=*/ClangArgv[0],
- llvm::sys::getDefaultTargetTriple(), Diags);
+ llvm::sys::getProcessTriple(), Diags);
Driver.setCheckInputsExist(false); // the input comes from mem buffers
llvm::ArrayRef<const char *> RF = llvm::makeArrayRef(ClangArgv);
std::unique_ptr<driver::Compilation> Compilation(Driver.BuildCompilation(RF));
Index: clang/lib/Interpreter/IncrementalParser.cpp
===================================================================
--- clang/lib/Interpreter/IncrementalParser.cpp
+++ clang/lib/Interpreter/IncrementalParser.cpp
@@ -54,7 +54,8 @@
Err = llvm::createStringError(
std::errc::state_not_recoverable,
"Driver initialization failed. "
- "Incremental mode for action is not supported");
+ "Incremental mode for action %d is not supported",
+ CI.getFrontendOpts().ProgramAction);
return Act;
case frontend::ASTDump:
LLVM_FALLTHROUGH;
@@ -63,6 +64,8 @@
case frontend::ParseSyntaxOnly:
Act = CreateFrontendAction(CI);
break;
+ case frontend::EmitAssembly:
+ LLVM_FALLTHROUGH;
case frontend::EmitObj:
LLVM_FALLTHROUGH;
case frontend::EmitLLVMOnly:
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D102688.346160.patch
Type: text/x-patch
Size: 1650 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20210518/bcd98f00/attachment.bin>
More information about the cfe-commits
mailing list