diff options
Diffstat (limited to 'llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp')
-rw-r--r-- | llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp b/llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp index c5584b81d3c..c61169626c5 100644 --- a/llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp +++ b/llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp @@ -221,12 +221,17 @@ static uint32_t getCPUType(MachOObjectFile &MachO) { static bool filterArch(ObjectFile &Obj) { if (ArchFilters.empty()) return true; + if (auto *MachO = dyn_cast<MachOObjectFile>(&Obj)) { std::string ObjArch = Triple::getArchTypeName(MachO->getArchTriple().getArch()); + for (auto Arch : ArchFilters) { + // Match name. if (Arch == ObjArch) return true; + + // Match architecture number. unsigned Value; if (!StringRef(Arch).getAsInteger(0, Value)) if (Value == getCPUType(*MachO)) |