aaron.ballman added a comment. Given the wide disparity of functionality, I'm wondering if there are concrete purposes for these new matchers?
================ Comment at: include/clang/ASTMatchers/ASTMatchers.h:1599 @@ -1543,1 +1598,3 @@ +/// \brief Matches atomic builtins. +const internal::VariadicDynCastAllOfMatcher< ---------------- This is a bit *too* brief. It would be good to give some example code. ================ Comment at: include/clang/ASTMatchers/ASTMatchers.h:1608 @@ +1607,3 @@ +/// \code +/// int C = ({ int X = 4; X: }); +/// \endcode ---------------- This code does not look legal to me because of the `X:`. (Same for the Example match: text.) ================ Comment at: include/clang/ASTMatchers/ASTMatchers.h:1612 @@ +1611,3 @@ + Stmt, + StmtExpr> stmtExpr; + ---------------- Did clang-format produce this formatting? ================ Comment at: include/clang/ASTMatchers/ASTMatchers.h:1622 @@ +1621,3 @@ +/// \endcode +AST_MATCHER_P(StmtExpr, hasSubStmt, + internal::Matcher<CompoundStmt>, InnerMatcher) { ---------------- I think it makes more sense to extend hasAnySubstatement() to work off stmtExpr() in addition to compoundStmt(). Same may be true for statementCountIs(), if you need it. ================ Comment at: include/clang/ASTMatchers/ASTMatchers.h:3013 @@ +3012,3 @@ +/// zero initialization. +AST_MATCHER(CXXConstructExpr, requiresZeroInitialization) { + return Node.requiresZeroInitialization(); ---------------- Missing code example of how to use this and what would match. ================ Comment at: include/clang/ASTMatchers/ASTMatchers.h:3499 @@ +3498,3 @@ + AST_POLYMORPHIC_SUPPORTED_TYPES(CastExpr, + OpaqueValueExpr), + internal::Matcher<Expr>, InnerMatcher) { ---------------- It would be good to add a new code example as to when this would trigger for an OpaqueValueExpr. ================ Comment at: include/clang/ASTMatchers/ASTMatchers.h:3568 @@ -3417,3 +3567,3 @@ /// \endcode -AST_MATCHER_P(ConditionalOperator, hasTrueExpression, +AST_MATCHER_P(AbstractConditionalOperator, hasTrueExpression, internal::Matcher<Expr>, InnerMatcher) { ---------------- Code examples for how this affects binaryConditionalOperator() (here and below) would be welcome. Repository: rL LLVM http://reviews.llvm.org/D17446 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits