From ba2a54901697ef157f9711512239762a88554f04 Mon Sep 17 00:00:00 2001 From: Benjamin Kramer Date: Fri, 7 Mar 2014 21:52:38 +0000 Subject: [PATCH] [C++11] Revert uses of lambdas with array_pod_sort. Looks like GCC implements the lambda->function pointer conversion differently. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203294 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Support/TargetRegistry.cpp | 11 ++++++----- lib/Transforms/IPO/GlobalOpt.cpp | 9 +++++---- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/lib/Support/TargetRegistry.cpp b/lib/Support/TargetRegistry.cpp index 6e0e223ba70..8d91a53c226 100644 --- a/lib/Support/TargetRegistry.cpp +++ b/lib/Support/TargetRegistry.cpp @@ -127,6 +127,11 @@ const Target *TargetRegistry::getClosestTargetForJIT(std::string &Error) { return TheTarget; } +static int TargetArraySortFn(const std::pair *LHS, + const std::pair *RHS) { + return LHS->first.compare(RHS->first); +} + void TargetRegistry::printRegisteredTargetsForVersion() { std::vector > Targets; size_t Width = 0; @@ -136,11 +141,7 @@ void TargetRegistry::printRegisteredTargetsForVersion() { Targets.push_back(std::make_pair(I->getName(), &*I)); Width = std::max(Width, Targets.back().first.size()); } - array_pod_sort(Targets.begin(), Targets.end(), - [](const std::pair *LHS, - const std::pair *RHS) { - return LHS->first.compare(RHS->first); - }); + array_pod_sort(Targets.begin(), Targets.end(), TargetArraySortFn); raw_ostream &OS = outs(); OS << " Registered Targets:\n"; diff --git a/lib/Transforms/IPO/GlobalOpt.cpp b/lib/Transforms/IPO/GlobalOpt.cpp index 1ba9ac17688..0f97160eb6a 100644 --- a/lib/Transforms/IPO/GlobalOpt.cpp +++ b/lib/Transforms/IPO/GlobalOpt.cpp @@ -2860,6 +2860,10 @@ bool GlobalOpt::OptimizeGlobalCtorsList(GlobalVariable *&GCL) { return true; } +static int compareNames(Constant *const *A, Constant *const *B) { + return (*A)->getName().compare((*B)->getName()); +} + static void setUsedInitializer(GlobalVariable &V, SmallPtrSet Init) { if (Init.empty()) { @@ -2878,10 +2882,7 @@ static void setUsedInitializer(GlobalVariable &V, UsedArray.push_back(Cast); } // Sort to get deterministic order. - array_pod_sort(UsedArray.begin(), UsedArray.end(), - [](Constant *const *A, Constant *const *B) { - return (*A)->getName().compare((*B)->getName()); - }); + array_pod_sort(UsedArray.begin(), UsedArray.end(), compareNames); ArrayType *ATy = ArrayType::get(Int8PtrTy, UsedArray.size()); Module *M = V.getParent(); -- 2.34.1