diff options
| author | Benjamin Kramer <benny.kra@googlemail.com> | 2014-03-07 21:52:38 +0000 |
|---|---|---|
| committer | Benjamin Kramer <benny.kra@googlemail.com> | 2014-03-07 21:52:38 +0000 |
| commit | adf1ea8227368d8ad25b21795edfceae6051a005 (patch) | |
| tree | 4ef7e92ce12ef2720cae1f63c5be6727ba926675 /llvm/lib/Transforms | |
| parent | 4cadf292a505670c4e01ed3452d386cba4c4c641 (diff) | |
| download | bcm5719-llvm-adf1ea8227368d8ad25b21795edfceae6051a005.tar.gz bcm5719-llvm-adf1ea8227368d8ad25b21795edfceae6051a005.zip | |
[C++11] Revert uses of lambdas with array_pod_sort.
Looks like GCC implements the lambda->function pointer conversion differently.
llvm-svn: 203294
Diffstat (limited to 'llvm/lib/Transforms')
| -rw-r--r-- | llvm/lib/Transforms/IPO/GlobalOpt.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/llvm/lib/Transforms/IPO/GlobalOpt.cpp b/llvm/lib/Transforms/IPO/GlobalOpt.cpp index 1ba9ac17688..0f97160eb6a 100644 --- a/llvm/lib/Transforms/IPO/GlobalOpt.cpp +++ b/llvm/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<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(); |

