aboutsummaryrefslogtreecommitdiff
path: root/llvm/tools/llvm-ifs/llvm-ifs.cpp
diff options
context:
space:
mode:
authorHaowei Wu <haowei@google.com>2023-03-22 16:41:47 -0700
committerHaowei Wu <haowei@google.com>2023-04-10 16:02:04 -0700
commit420526fb22f35df4750063ef4783b3774eaa371a (patch)
treefb35839cf42d6a6cd7397b6f618466b479979307 /llvm/tools/llvm-ifs/llvm-ifs.cpp
parentdea417f75e56bc87633bdd16711b401503a5a821 (diff)
downloadllvm-420526fb22f35df4750063ef4783b3774eaa371a.zip
llvm-420526fb22f35df4750063ef4783b3774eaa371a.tar.gz
llvm-420526fb22f35df4750063ef4783b3774eaa371a.tar.bz2
[ifs] Print an error when llvm-ifs is supplied with an unknown arch
This patch makes llvm-ifs print an error when the arch string from '--arch' flag or the IFS file 'Arch' field is unknown. Differential Revision: https://reviews.llvm.org/D146672
Diffstat (limited to 'llvm/tools/llvm-ifs/llvm-ifs.cpp')
-rw-r--r--llvm/tools/llvm-ifs/llvm-ifs.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/llvm/tools/llvm-ifs/llvm-ifs.cpp b/llvm/tools/llvm-ifs/llvm-ifs.cpp
index 92ca519..0d2744f 100644
--- a/llvm/tools/llvm-ifs/llvm-ifs.cpp
+++ b/llvm/tools/llvm-ifs/llvm-ifs.cpp
@@ -333,9 +333,13 @@ static DriverConfig parseArgs(int argc, char *const *argv) {
if (!Config.OutputFormat)
OptionNotFound("--output-format", A->getValue());
}
- if (const opt::Arg *A = Args.getLastArg(OPT_arch_EQ))
- Config.OverrideArch = ELF::convertArchNameToEMachine(A->getValue());
-
+ if (const opt::Arg *A = Args.getLastArg(OPT_arch_EQ)) {
+ uint16_t eMachine = ELF::convertArchNameToEMachine(A->getValue());
+ if (eMachine == ELF::EM_NONE) {
+ fatalError(Twine("unknown arch '") + A->getValue() + "'");
+ }
+ Config.OverrideArch = eMachine;
+ }
if (const opt::Arg *A = Args.getLastArg(OPT_bitwidth_EQ)) {
size_t Width;
llvm::StringRef S(A->getValue());