From 08901c8a980d98672d456558fac3b2bee990bf61 Mon Sep 17 00:00:00 2001 From: Kazu Hirata Date: Sat, 15 Oct 2022 21:54:13 -0700 Subject: [PATCH] [clang] Use llvm::reverse (NFC) --- clang/include/clang/Analysis/Analyses/ThreadSafetyUtil.h | 4 ++-- clang/lib/AST/Interp/Function.h | 2 +- clang/lib/Driver/ToolChains/Clang.cpp | 2 +- clang/lib/StaticAnalyzer/Core/BugReporter.cpp | 10 ++++------ 4 files changed, 8 insertions(+), 10 deletions(-) diff --git a/clang/include/clang/Analysis/Analyses/ThreadSafetyUtil.h b/clang/include/clang/Analysis/Analyses/ThreadSafetyUtil.h index 088474b..7792707 100644 --- a/clang/include/clang/Analysis/Analyses/ThreadSafetyUtil.h +++ b/clang/include/clang/Analysis/Analyses/ThreadSafetyUtil.h @@ -204,11 +204,11 @@ public: } llvm::iterator_range reverse() { - return llvm::make_range(rbegin(), rend()); + return llvm::reverse(*this); } llvm::iterator_range reverse() const { - return llvm::make_range(rbegin(), rend()); + return llvm::reverse(*this); } private: diff --git a/clang/lib/AST/Interp/Function.h b/clang/lib/AST/Interp/Function.h index 67a4e27..f73a6d3 100644 --- a/clang/lib/AST/Interp/Function.h +++ b/clang/lib/AST/Interp/Function.h @@ -111,7 +111,7 @@ public: using arg_reverse_iterator = SmallVectorImpl::const_reverse_iterator; llvm::iterator_range args_reverse() const { - return llvm::make_range(ParamTypes.rbegin(), ParamTypes.rend()); + return llvm::reverse(ParamTypes); } /// Returns a specific scope. diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp index faac52d..2dfd815 100644 --- a/clang/lib/Driver/ToolChains/Clang.cpp +++ b/clang/lib/Driver/ToolChains/Clang.cpp @@ -1657,7 +1657,7 @@ void RenderARMABI(const Driver &D, const llvm::Triple &Triple, void AddUnalignedAccessWarning(ArgStringList &CmdArgs) { auto StrictAlignIter = - std::find_if(CmdArgs.rbegin(), CmdArgs.rend(), [](StringRef Arg) { + llvm::find_if(llvm::reverse(CmdArgs), [](StringRef Arg) { return Arg == "+strict-align" || Arg == "-strict-align"; }); if (StrictAlignIter != CmdArgs.rend() && diff --git a/clang/lib/StaticAnalyzer/Core/BugReporter.cpp b/clang/lib/StaticAnalyzer/Core/BugReporter.cpp index 4d6b82e..6996f59 100644 --- a/clang/lib/StaticAnalyzer/Core/BugReporter.cpp +++ b/clang/lib/StaticAnalyzer/Core/BugReporter.cpp @@ -3097,9 +3097,8 @@ void BugReporter::FlushReport(BugReportEquivClass& EQ) { if (getAnalyzerOptions().ShouldDisplayNotesAsEvents) { // For path diagnostic consumers that don't support extra notes, // we may optionally convert those to path notes. - for (auto I = report->getNotes().rbegin(), - E = report->getNotes().rend(); I != E; ++I) { - PathDiagnosticNotePiece *Piece = I->get(); + for (const auto &I : llvm::reverse(report->getNotes())) { + PathDiagnosticNotePiece *Piece = I.get(); auto ConvertedPiece = std::make_shared( Piece->getLocation(), Piece->getString()); for (const auto &R: Piece->getRanges()) @@ -3108,9 +3107,8 @@ void BugReporter::FlushReport(BugReportEquivClass& EQ) { Pieces.push_front(std::move(ConvertedPiece)); } } else { - for (auto I = report->getNotes().rbegin(), - E = report->getNotes().rend(); I != E; ++I) - Pieces.push_front(*I); + for (const auto &I : llvm::reverse(report->getNotes())) + Pieces.push_front(I); } for (const auto &I : report->getFixits()) -- 2.7.4