diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2014-03-10 17:55:02 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2014-03-10 17:55:02 +0000 |
commit | 3f755aa7a8e74920c65e4805e35824b03ca2945d (patch) | |
tree | cb6ae73e131101a22b0a059fbc87800d4237e8d0 /clang/lib | |
parent | e655754d572f8c7ad995acd29075f5c10594476c (diff) | |
download | bcm5719-llvm-3f755aa7a8e74920c65e4805e35824b03ca2945d.tar.gz bcm5719-llvm-3f755aa7a8e74920c65e4805e35824b03ca2945d.zip |
[C++11] Avoid implicit conversion of ArrayRef to std::vector and use move semantics where appropriate.
llvm-svn: 203477
Diffstat (limited to 'clang/lib')
-rw-r--r-- | clang/lib/ASTMatchers/Dynamic/Marshallers.h | 4 | ||||
-rw-r--r-- | clang/lib/ASTMatchers/Dynamic/VariantValue.cpp | 16 | ||||
-rw-r--r-- | clang/lib/Basic/VirtualFileSystem.cpp | 6 | ||||
-rw-r--r-- | clang/lib/StaticAnalyzer/Core/BugReporter.cpp | 6 | ||||
-rw-r--r-- | clang/lib/Tooling/CompilationDatabase.cpp | 3 |
5 files changed, 15 insertions, 20 deletions
diff --git a/clang/lib/ASTMatchers/Dynamic/Marshallers.h b/clang/lib/ASTMatchers/Dynamic/Marshallers.h index d2259c4e939..77268076f02 100644 --- a/clang/lib/ASTMatchers/Dynamic/Marshallers.h +++ b/clang/lib/ASTMatchers/Dynamic/Marshallers.h @@ -260,7 +260,7 @@ static VariantMatcher outvalueToVariantMatcher(const T &PolyMatcher, NULL) { std::vector<DynTypedMatcher> Matchers; mergePolyMatchers(PolyMatcher, Matchers, typename T::ReturnTypes()); - VariantMatcher Out = VariantMatcher::PolymorphicMatcher(Matchers); + VariantMatcher Out = VariantMatcher::PolymorphicMatcher(std::move(Matchers)); return Out; } @@ -609,7 +609,7 @@ public: } InnerArgs.push_back(Value.getMatcher()); } - return VariantMatcher::VariadicOperatorMatcher(Func, InnerArgs); + return VariantMatcher::VariadicOperatorMatcher(Func, std::move(InnerArgs)); } bool isVariadic() const { return true; } diff --git a/clang/lib/ASTMatchers/Dynamic/VariantValue.cpp b/clang/lib/ASTMatchers/Dynamic/VariantValue.cpp index 70d37ca399a..9c7262e34fd 100644 --- a/clang/lib/ASTMatchers/Dynamic/VariantValue.cpp +++ b/clang/lib/ASTMatchers/Dynamic/VariantValue.cpp @@ -48,8 +48,8 @@ private: class VariantMatcher::PolymorphicPayload : public VariantMatcher::Payload { public: - PolymorphicPayload(ArrayRef<DynTypedMatcher> MatchersIn) - : Matchers(MatchersIn) {} + PolymorphicPayload(std::vector<DynTypedMatcher> MatchersIn) + : Matchers(std::move(MatchersIn)) {} virtual ~PolymorphicPayload() {} @@ -98,8 +98,8 @@ public: class VariantMatcher::VariadicOpPayload : public VariantMatcher::Payload { public: VariadicOpPayload(ast_matchers::internal::VariadicOperatorFunction Func, - ArrayRef<VariantMatcher> Args) - : Func(Func), Args(Args) {} + std::vector<VariantMatcher> Args) + : Func(Func), Args(std::move(Args)) {} virtual llvm::Optional<DynTypedMatcher> getSingleMatcher() const { return llvm::Optional<DynTypedMatcher>(); @@ -131,14 +131,14 @@ VariantMatcher VariantMatcher::SingleMatcher(const DynTypedMatcher &Matcher) { } VariantMatcher -VariantMatcher::PolymorphicMatcher(ArrayRef<DynTypedMatcher> Matchers) { - return VariantMatcher(new PolymorphicPayload(Matchers)); +VariantMatcher::PolymorphicMatcher(std::vector<DynTypedMatcher> Matchers) { + return VariantMatcher(new PolymorphicPayload(std::move(Matchers))); } VariantMatcher VariantMatcher::VariadicOperatorMatcher( ast_matchers::internal::VariadicOperatorFunction Func, - ArrayRef<VariantMatcher> Args) { - return VariantMatcher(new VariadicOpPayload(Func, Args)); + std::vector<VariantMatcher> Args) { + return VariantMatcher(new VariadicOpPayload(Func, std::move(Args))); } llvm::Optional<DynTypedMatcher> VariantMatcher::getSingleMatcher() const { diff --git a/clang/lib/Basic/VirtualFileSystem.cpp b/clang/lib/Basic/VirtualFileSystem.cpp index bfc2db73e88..9a88cfd3897 100644 --- a/clang/lib/Basic/VirtualFileSystem.cpp +++ b/clang/lib/Basic/VirtualFileSystem.cpp @@ -253,13 +253,9 @@ class DirectoryEntry : public Entry { public: virtual ~DirectoryEntry(); -#if LLVM_HAS_RVALUE_REFERENCES DirectoryEntry(StringRef Name, std::vector<Entry *> Contents, Status S) : Entry(EK_Directory, Name), Contents(std::move(Contents)), S(std::move(S)) {} -#endif - DirectoryEntry(StringRef Name, ArrayRef<Entry *> Contents, const Status &S) - : Entry(EK_Directory, Name), Contents(Contents), S(S) {} Status getStatus() { return S; } typedef std::vector<Entry *>::iterator iterator; iterator contents_begin() { return Contents.begin(); } @@ -612,7 +608,7 @@ class VFSFromYAMLParser { for (sys::path::reverse_iterator I = sys::path::rbegin(Parent), E = sys::path::rend(Parent); I != E; ++I) { - Result = new DirectoryEntry(*I, Result, + Result = new DirectoryEntry(*I, llvm::makeArrayRef(Result), Status("", "", getNextVirtualUniqueID(), sys::TimeValue::now(), 0, 0, 0, file_type::directory_file, sys::fs::all_all)); } diff --git a/clang/lib/StaticAnalyzer/Core/BugReporter.cpp b/clang/lib/StaticAnalyzer/Core/BugReporter.cpp index db684883af2..1b55cdec589 100644 --- a/clang/lib/StaticAnalyzer/Core/BugReporter.cpp +++ b/clang/lib/StaticAnalyzer/Core/BugReporter.cpp @@ -3399,10 +3399,8 @@ void BugReporter::FlushReport(BugReportEquivClass& EQ) { SmallVector<BugReport*, 10> bugReports; BugReport *exampleReport = FindReportInEquivalenceClass(EQ, bugReports); if (exampleReport) { - const PathDiagnosticConsumers &C = getPathDiagnosticConsumers(); - for (PathDiagnosticConsumers::const_iterator I=C.begin(), - E=C.end(); I != E; ++I) { - FlushReport(exampleReport, **I, bugReports); + for (PathDiagnosticConsumer *PDC : getPathDiagnosticConsumers()) { + FlushReport(exampleReport, *PDC, bugReports); } } } diff --git a/clang/lib/Tooling/CompilationDatabase.cpp b/clang/lib/Tooling/CompilationDatabase.cpp index 57424e37e93..b513446a543 100644 --- a/clang/lib/Tooling/CompilationDatabase.cpp +++ b/clang/lib/Tooling/CompilationDatabase.cpp @@ -303,7 +303,8 @@ FixedCompilationDatabase(Twine Directory, ArrayRef<std::string> CommandLine) { std::vector<std::string> ToolCommandLine(1, "clang-tool"); ToolCommandLine.insert(ToolCommandLine.end(), CommandLine.begin(), CommandLine.end()); - CompileCommands.push_back(CompileCommand(Directory, ToolCommandLine)); + CompileCommands.push_back( + CompileCommand(Directory, std::move(ToolCommandLine))); } std::vector<CompileCommand> |