| From https://llvm.org/bugs/show_bug.cgi?id=24115 |
| |
| diff --git a/tools/llvm-nm/llvm-nm.cpp b/tools/llvm-nm/llvm-nm.cpp |
| index e7ee312..b9e4779 100644 |
| |
| |
| @@ -486,7 +486,7 @@ static void sortAndPrintSymbolList(SymbolicFile &Obj, bool printName, |
| std::string ArchiveName, |
| std::string ArchitectureName) { |
| if (!NoSort) { |
| - std::function<bool(const NMSymbol &, const NMSymbol &)> Cmp; |
| + bool (*Cmp)(const NMSymbol &, const NMSymbol &); |
| if (NumericSort) |
| Cmp = compareSymbolAddress; |
| else if (SizeSort) |
| @@ -495,8 +495,9 @@ static void sortAndPrintSymbolList(SymbolicFile &Obj, bool printName, |
| Cmp = compareSymbolName; |
| |
| if (ReverseSort) |
| - Cmp = [=](const NMSymbol &A, const NMSymbol &B) { return Cmp(B, A); }; |
| - std::sort(SymbolList.begin(), SymbolList.end(), Cmp); |
| + std::sort(SymbolList.begin(), SymbolList.end(), [=](const NMSymbol &A, const NMSymbol &B) { return Cmp(B, A); }); |
| + else |
| + std::sort(SymbolList.begin(), SymbolList.end(), Cmp); |
| } |
| |
| if (!PrintFileName) { |