Author: d0k Date: Thu Jul 21 10:06:51 2016 New Revision: 276292 URL: http://llvm.org/viewvc/llvm-project?rev=276292&view=rev Log: Move some IntrusiveRefCntPtrs instead of copying.
No functionality change intended. Modified: cfe/trunk/include/clang/Basic/Diagnostic.h cfe/trunk/lib/ASTMatchers/ASTMatchersInternal.cpp cfe/trunk/lib/Basic/Diagnostic.cpp Modified: cfe/trunk/include/clang/Basic/Diagnostic.h URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/Diagnostic.h?rev=276292&r1=276291&r2=276292&view=diff ============================================================================== --- cfe/trunk/include/clang/Basic/Diagnostic.h (original) +++ cfe/trunk/include/clang/Basic/Diagnostic.h Thu Jul 21 10:06:51 2016 @@ -344,11 +344,10 @@ private: std::string FlagValue; public: - explicit DiagnosticsEngine( - const IntrusiveRefCntPtr<DiagnosticIDs> &Diags, - DiagnosticOptions *DiagOpts, - DiagnosticConsumer *client = nullptr, - bool ShouldOwnClient = true); + explicit DiagnosticsEngine(IntrusiveRefCntPtr<DiagnosticIDs> Diags, + DiagnosticOptions *DiagOpts, + DiagnosticConsumer *client = nullptr, + bool ShouldOwnClient = true); ~DiagnosticsEngine(); const IntrusiveRefCntPtr<DiagnosticIDs> &getDiagnosticIDs() const { Modified: cfe/trunk/lib/ASTMatchers/ASTMatchersInternal.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/ASTMatchers/ASTMatchersInternal.cpp?rev=276292&r1=276291&r2=276292&view=diff ============================================================================== --- cfe/trunk/lib/ASTMatchers/ASTMatchersInternal.cpp (original) +++ cfe/trunk/lib/ASTMatchers/ASTMatchersInternal.cpp Thu Jul 21 10:06:51 2016 @@ -72,10 +72,10 @@ private: }; class IdDynMatcher : public DynMatcherInterface { - public: +public: IdDynMatcher(StringRef ID, - const IntrusiveRefCntPtr<DynMatcherInterface> &InnerMatcher) - : ID(ID), InnerMatcher(InnerMatcher) {} + IntrusiveRefCntPtr<DynMatcherInterface> InnerMatcher) + : ID(ID), InnerMatcher(std::move(InnerMatcher)) {} bool dynMatches(const ast_type_traits::DynTypedNode &DynNode, ASTMatchFinder *Finder, @@ -85,7 +85,7 @@ class IdDynMatcher : public DynMatcherIn return Result; } - private: +private: const std::string ID; const IntrusiveRefCntPtr<DynMatcherInterface> InnerMatcher; }; @@ -210,8 +210,9 @@ bool DynTypedMatcher::matchesNoKindCheck llvm::Optional<DynTypedMatcher> DynTypedMatcher::tryBind(StringRef ID) const { if (!AllowBind) return llvm::None; auto Result = *this; - Result.Implementation = new IdDynMatcher(ID, Result.Implementation); - return Result; + Result.Implementation = + new IdDynMatcher(ID, std::move(Result.Implementation)); + return std::move(Result); } bool DynTypedMatcher::canConvertTo(ast_type_traits::ASTNodeKind To) const { Modified: cfe/trunk/lib/Basic/Diagnostic.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Basic/Diagnostic.cpp?rev=276292&r1=276291&r2=276292&view=diff ============================================================================== --- cfe/trunk/lib/Basic/Diagnostic.cpp (original) +++ cfe/trunk/lib/Basic/Diagnostic.cpp Thu Jul 21 10:06:51 2016 @@ -55,10 +55,12 @@ static void DummyArgToStringFn(Diagnosti Output.append(Str.begin(), Str.end()); } -DiagnosticsEngine::DiagnosticsEngine( - const IntrusiveRefCntPtr<DiagnosticIDs> &diags, DiagnosticOptions *DiagOpts, - DiagnosticConsumer *client, bool ShouldOwnClient) - : Diags(diags), DiagOpts(DiagOpts), Client(nullptr), SourceMgr(nullptr) { +DiagnosticsEngine::DiagnosticsEngine(IntrusiveRefCntPtr<DiagnosticIDs> diags, + DiagnosticOptions *DiagOpts, + DiagnosticConsumer *client, + bool ShouldOwnClient) + : Diags(std::move(diags)), DiagOpts(DiagOpts), Client(nullptr), + SourceMgr(nullptr) { setClient(client, ShouldOwnClient); ArgToStringFn = DummyArgToStringFn; ArgToStringCookie = nullptr; _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits