Revert "Implement nullPointerConstant() using a better API."

This reverts commit 9148302a (2019-08-22) which broke the pre-existing
unit test for the matcher.  Also revert commit 518b2266 (Fix the
nullPointerConstant() test to get bots back to green., 2019-08-22) which
incorrectly changed the test to expect the broken behavior.

Differential Revision: https://reviews.llvm.org/D96665
This commit is contained in:
Stephen Kelly 2021-02-14 15:16:35 +00:00
parent 3e1317fd32
commit 6984e0d439
2 changed files with 5 additions and 4 deletions

View File

@ -7384,9 +7384,10 @@ extern const internal::VariadicDynCastAllOfMatcher<Stmt, CUDAKernelCallExpr>
/// expr(nullPointerConstant())
/// matches the initializer for v1, v2, v3, cp, and ip. Does not match the
/// initializer for i.
AST_MATCHER(Expr, nullPointerConstant) {
return Node.isNullPointerConstant(Finder->getASTContext(),
Expr::NPC_ValueDependentIsNull);
AST_MATCHER_FUNCTION(internal::Matcher<Expr>, nullPointerConstant) {
return anyOf(
gnuNullExpr(), cxxNullPtrLiteralExpr(),
integerLiteral(equals(0), hasParent(expr(hasType(pointerType())))));
}
/// Matches the DecompositionDecl the binding belongs to.

View File

@ -3663,7 +3663,7 @@ TEST_P(ASTMatchersTest, NullPointerConstant) {
expr(nullPointerConstant())));
EXPECT_TRUE(matches("char *cp = (char *)0;", expr(nullPointerConstant())));
EXPECT_TRUE(matches("int *ip = 0;", expr(nullPointerConstant())));
EXPECT_TRUE(matches("int i = 0;", expr(nullPointerConstant())));
EXPECT_FALSE(matches("int i = 0;", expr(nullPointerConstant())));
}
TEST_P(ASTMatchersTest, NullPointerConstant_GNUNull) {