diff options
Diffstat (limited to 'clang/lib/Analysis/LiveVariables.cpp')
-rw-r--r-- | clang/lib/Analysis/LiveVariables.cpp | 22 |
1 files changed, 8 insertions, 14 deletions
diff --git a/clang/lib/Analysis/LiveVariables.cpp b/clang/lib/Analysis/LiveVariables.cpp index f13f90324cb..799799c5426 100644 --- a/clang/lib/Analysis/LiveVariables.cpp +++ b/clang/lib/Analysis/LiveVariables.cpp @@ -581,16 +581,6 @@ LiveVariables::computeLiveness(AnalysisDeclContext &AC, return new LiveVariables(LV); } -static bool compare_entries(const CFGBlock *A, const CFGBlock *B) { - return A->getBlockID() < B->getBlockID(); -} - -static bool compare_vd_entries(const Decl *A, const Decl *B) { - SourceLocation ALoc = A->getLocStart(); - SourceLocation BLoc = B->getLocStart(); - return ALoc.getRawEncoding() < BLoc.getRawEncoding(); -} - void LiveVariables::dumpBlockLiveness(const SourceManager &M) { getImpl(impl).dumpBlockLiveness(M); } @@ -602,7 +592,9 @@ void LiveVariablesImpl::dumpBlockLiveness(const SourceManager &M) { it != ei; ++it) { vec.push_back(it->first); } - std::sort(vec.begin(), vec.end(), compare_entries); + std::sort(vec.begin(), vec.end(), [](const CFGBlock *A, const CFGBlock *B) { + return A->getBlockID() < B->getBlockID(); + }); std::vector<const VarDecl*> declVec; @@ -619,9 +611,11 @@ void LiveVariablesImpl::dumpBlockLiveness(const SourceManager &M) { se = vals.liveDecls.end(); si != se; ++si) { declVec.push_back(*si); } - - std::sort(declVec.begin(), declVec.end(), compare_vd_entries); - + + std::sort(declVec.begin(), declVec.end(), [](const Decl *A, const Decl *B) { + return A->getLocStart() < B->getLocStart(); + }); + for (std::vector<const VarDecl*>::iterator di = declVec.begin(), de = declVec.end(); di != de; ++di) { llvm::errs() << " " << (*di)->getDeclName().getAsString() |