[C++11] Revert uses of lambdas with array_pod_sort.
authorBenjamin Kramer <benny.kra@googlemail.com>
Fri, 7 Mar 2014 21:52:38 +0000 (21:52 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Fri, 7 Mar 2014 21:52:38 +0000 (21:52 +0000)
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
lib/Transforms/IPO/GlobalOpt.cpp

index 6e0e223ba700b1ffd4438b37d15346313fdaeb25..8d91a53c22646d77103e227e5c1ca7d257745398 100644 (file)
@@ -127,6 +127,11 @@ const Target *TargetRegistry::getClosestTargetForJIT(std::string &Error) {
   return TheTarget;
 }
 
+static int TargetArraySortFn(const std::pair<StringRef, const Target *> *LHS,
+                             const std::pair<StringRef, const Target *> *RHS) {
+  return LHS->first.compare(RHS->first);
+}
+
 void TargetRegistry::printRegisteredTargetsForVersion() {
   std::vector<std::pair<StringRef, const Target*> > 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<StringRef, const Target *> *LHS,
-                    const std::pair<StringRef, const Target *> *RHS) {
-    return LHS->first.compare(RHS->first);
-  });
+  array_pod_sort(Targets.begin(), Targets.end(), TargetArraySortFn);
 
   raw_ostream &OS = outs();
   OS << "  Registered Targets:\n";
index 1ba9ac1768899c9074a20f7c1b21195c56a0fd6e..0f97160eb6ac5d200587ff2ffa6ba20f617f086b 100644 (file)
@@ -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<GlobalValue *, 8> 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();