diff options
Diffstat (limited to 'lld/lib/ReaderWriter/MachO/CompactUnwindPass.cpp')
-rw-r--r-- | lld/lib/ReaderWriter/MachO/CompactUnwindPass.cpp | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/lld/lib/ReaderWriter/MachO/CompactUnwindPass.cpp b/lld/lib/ReaderWriter/MachO/CompactUnwindPass.cpp index 02eba36a0d7..de5adb08879 100644 --- a/lld/lib/ReaderWriter/MachO/CompactUnwindPass.cpp +++ b/lld/lib/ReaderWriter/MachO/CompactUnwindPass.cpp @@ -387,12 +387,9 @@ private: // Gather the personality functions now, so that they're in deterministic // order (derived from the DefinedAtom order). - if (unwindEntry.personalityFunction) { - auto pFunc = std::find(personalities.begin(), personalities.end(), - unwindEntry.personalityFunction); - if (pFunc == personalities.end()) - personalities.push_back(unwindEntry.personalityFunction); - } + if (unwindEntry.personalityFunction && + !llvm::count(personalities, unwindEntry.personalityFunction)) + personalities.push_back(unwindEntry.personalityFunction); } } @@ -551,8 +548,7 @@ private: } } - auto personality = std::find(personalities.begin(), personalities.end(), - entry.personalityFunction); + auto personality = llvm::find(personalities, entry.personalityFunction); uint32_t personalityIdx = personality == personalities.end() ? 0 : personality - personalities.begin() + 1; |