[llvm-branch-commits] [clang] 0ce32a7 - Revert "[ASTMatchers] Matcher macros with params move params instead of copying"
Hans Wennborg via llvm-branch-commits
llvm-branch-commits at lists.llvm.org
Fri Nov 27 05:56:21 PST 2020
Author: Hans Wennborg
Date: 2020-11-27T14:51:27+01:00
New Revision: 0ce32a79825f307d2f46b8a5823489a67d6d072f
URL: https://github.com/llvm/llvm-project/commit/0ce32a79825f307d2f46b8a5823489a67d6d072f
DIFF: https://github.com/llvm/llvm-project/commit/0ce32a79825f307d2f46b8a5823489a67d6d072f.diff
LOG: Revert "[ASTMatchers] Matcher macros with params move params instead of copying"
This broke some clang matcher tests in 32-bit MSVC builds; see PR46781.
> Summary: Use move semantics instead of copying for AST Matchers with parameters
>
> Reviewers: aaron.ballman, gribozavr2
>
> Reviewed By: gribozavr2
>
> Subscribers: cfe-commits
>
> Tags: #clang
>
> Differential Revision: https://reviews.llvm.org/D75096
This reverts commit 3e9a7b2ba470bbe9cf3de3e4b15ba09dcfd206aa.
Added:
Modified:
clang/include/clang/ASTMatchers/ASTMatchersMacros.h
Removed:
################################################################################
diff --git a/clang/include/clang/ASTMatchers/ASTMatchersMacros.h b/clang/include/clang/ASTMatchers/ASTMatchersMacros.h
index 45e8b1a88b81..7e01ab0c6ee9 100644
--- a/clang/include/clang/ASTMatchers/ASTMatchersMacros.h
+++ b/clang/include/clang/ASTMatchers/ASTMatchersMacros.h
@@ -134,8 +134,9 @@
class matcher_##DefineMatcher##OverloadId##Matcher \
: public ::clang::ast_matchers::internal::MatcherInterface<Type> { \
public: \
- explicit matcher_##DefineMatcher##OverloadId##Matcher(ParamType A##Param) \
- : Param(std::move(A##Param)) {} \
+ explicit matcher_##DefineMatcher##OverloadId##Matcher( \
+ ParamType const &A##Param) \
+ : Param(A##Param) {} \
bool matches(const Type &Node, \
::clang::ast_matchers::internal::ASTMatchFinder *Finder, \
::clang::ast_matchers::internal::BoundNodesTreeBuilder \
@@ -146,13 +147,12 @@
}; \
} \
inline ::clang::ast_matchers::internal::Matcher<Type> DefineMatcher( \
- ParamType Param) { \
+ ParamType const &Param) { \
return ::clang::ast_matchers::internal::makeMatcher( \
- new internal::matcher_##DefineMatcher##OverloadId##Matcher( \
- std::move(Param))); \
+ new internal::matcher_##DefineMatcher##OverloadId##Matcher(Param)); \
} \
- typedef ::clang::ast_matchers::internal::Matcher<Type> ( \
- &DefineMatcher##_Type##OverloadId)(ParamType Param); \
+ typedef ::clang::ast_matchers::internal::Matcher<Type>( \
+ &DefineMatcher##_Type##OverloadId)(ParamType const &Param); \
inline bool internal::matcher_##DefineMatcher##OverloadId##Matcher::matches( \
const Type &Node, \
::clang::ast_matchers::internal::ASTMatchFinder *Finder, \
@@ -183,9 +183,9 @@
class matcher_##DefineMatcher##OverloadId##Matcher \
: public ::clang::ast_matchers::internal::MatcherInterface<Type> { \
public: \
- matcher_##DefineMatcher##OverloadId##Matcher(ParamType1 A##Param1, \
- ParamType2 A##Param2) \
- : Param1(std::move(A##Param1)), Param2(std::move(A##Param2)) {} \
+ matcher_##DefineMatcher##OverloadId##Matcher(ParamType1 const &A##Param1, \
+ ParamType2 const &A##Param2) \
+ : Param1(A##Param1), Param2(A##Param2) {} \
bool matches(const Type &Node, \
::clang::ast_matchers::internal::ASTMatchFinder *Finder, \
::clang::ast_matchers::internal::BoundNodesTreeBuilder \
@@ -197,14 +197,14 @@
}; \
} \
inline ::clang::ast_matchers::internal::Matcher<Type> DefineMatcher( \
- ParamType1 Param1, ParamType2 Param2) { \
+ ParamType1 const &Param1, ParamType2 const &Param2) { \
return ::clang::ast_matchers::internal::makeMatcher( \
- new internal::matcher_##DefineMatcher##OverloadId##Matcher( \
- std::move(Param1), std::move(Param2))); \
+ new internal::matcher_##DefineMatcher##OverloadId##Matcher(Param1, \
+ Param2)); \
} \
- typedef ::clang::ast_matchers::internal::Matcher<Type> ( \
- &DefineMatcher##_Type##OverloadId)(ParamType1 Param1, \
- ParamType2 Param2); \
+ typedef ::clang::ast_matchers::internal::Matcher<Type>( \
+ &DefineMatcher##_Type##OverloadId)(ParamType1 const &Param1, \
+ ParamType2 const &Param2); \
inline bool internal::matcher_##DefineMatcher##OverloadId##Matcher::matches( \
const Type &Node, \
::clang::ast_matchers::internal::ASTMatchFinder *Finder, \
@@ -272,8 +272,9 @@
class matcher_##DefineMatcher##OverloadId##Matcher \
: public ::clang::ast_matchers::internal::MatcherInterface<NodeType> { \
public: \
- explicit matcher_##DefineMatcher##OverloadId##Matcher(ParamType A##Param) \
- : Param(std::move(A##Param)) {} \
+ explicit matcher_##DefineMatcher##OverloadId##Matcher( \
+ ParamType const &A##Param) \
+ : Param(A##Param) {} \
bool matches(const NodeType &Node, \
::clang::ast_matchers::internal::ASTMatchFinder *Finder, \
::clang::ast_matchers::internal::BoundNodesTreeBuilder \
@@ -286,14 +287,15 @@
inline ::clang::ast_matchers::internal::PolymorphicMatcherWithParam1< \
internal::matcher_##DefineMatcher##OverloadId##Matcher, ParamType, \
ReturnTypesF> \
- DefineMatcher(ParamType Param) { \
+ DefineMatcher(ParamType const &Param) { \
return ::clang::ast_matchers::internal::PolymorphicMatcherWithParam1< \
internal::matcher_##DefineMatcher##OverloadId##Matcher, ParamType, \
- ReturnTypesF>(std::move(Param)); \
+ ReturnTypesF>(Param); \
} \
typedef ::clang::ast_matchers::internal::PolymorphicMatcherWithParam1< \
internal::matcher_##DefineMatcher##OverloadId##Matcher, ParamType, \
- ReturnTypesF> (&DefineMatcher##_Type##OverloadId)(ParamType Param); \
+ ReturnTypesF>(&DefineMatcher##_Type##OverloadId)( \
+ ParamType const &Param); \
template <typename NodeType, typename ParamT> \
bool internal:: \
matcher_##DefineMatcher##OverloadId##Matcher<NodeType, ParamT>::matches( \
@@ -323,9 +325,9 @@
class matcher_##DefineMatcher##OverloadId##Matcher \
: public ::clang::ast_matchers::internal::MatcherInterface<NodeType> { \
public: \
- matcher_##DefineMatcher##OverloadId##Matcher(ParamType1 A##Param1, \
- ParamType2 A##Param2) \
- : Param1(std::move(A##Param1)), Param2(std::move(A##Param2)) {} \
+ matcher_##DefineMatcher##OverloadId##Matcher(ParamType1 const &A##Param1, \
+ ParamType2 const &A##Param2) \
+ : Param1(A##Param1), Param2(A##Param2) {} \
bool matches(const NodeType &Node, \
::clang::ast_matchers::internal::ASTMatchFinder *Finder, \
::clang::ast_matchers::internal::BoundNodesTreeBuilder \
@@ -339,15 +341,15 @@
inline ::clang::ast_matchers::internal::PolymorphicMatcherWithParam2< \
internal::matcher_##DefineMatcher##OverloadId##Matcher, ParamType1, \
ParamType2, ReturnTypesF> \
- DefineMatcher(ParamType1 Param1, ParamType2 Param2) { \
+ DefineMatcher(ParamType1 const &Param1, ParamType2 const &Param2) { \
return ::clang::ast_matchers::internal::PolymorphicMatcherWithParam2< \
internal::matcher_##DefineMatcher##OverloadId##Matcher, ParamType1, \
- ParamType2, ReturnTypesF>(std::move(Param1), std::move(Param2)); \
+ ParamType2, ReturnTypesF>(Param1, Param2); \
} \
typedef ::clang::ast_matchers::internal::PolymorphicMatcherWithParam2< \
internal::matcher_##DefineMatcher##OverloadId##Matcher, ParamType1, \
- ParamType2, ReturnTypesF> (&DefineMatcher##_Type##OverloadId)( \
- ParamType1 Param1, ParamType2 Param2); \
+ ParamType2, ReturnTypesF>(&DefineMatcher##_Type##OverloadId)( \
+ ParamType1 const &Param1, ParamType2 const &Param2); \
template <typename NodeType, typename ParamT1, typename ParamT2> \
bool internal::matcher_##DefineMatcher##OverloadId##Matcher< \
NodeType, ParamT1, ParamT2>:: \
More information about the llvm-branch-commits
mailing list