From b6073ee9ae842d1999fd7798a0aac0f8427d6aea Mon Sep 17 00:00:00 2001 From: Dmitri Gribenko Date: Mon, 20 Jul 2020 10:22:59 +0200 Subject: [PATCH] Enable the test for hasArraySize() AST matcher in all language modes Summary: In C++11 and later Clang generates an implicit conversion from int to size_t in the AST. Reviewers: ymandel, hokein Reviewed By: hokein Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D83966 --- clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp b/clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp index 36e92c6..4bd5019 100644 --- a/clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp +++ b/clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp @@ -3219,13 +3219,13 @@ TEST_P(ASTMatchersTest, IsArray) { } TEST_P(ASTMatchersTest, HasArraySize) { - if (GetParam().Language != Lang_CXX03) { - // FIXME: Fix this test to work in all C++ language modes. + if (!GetParam().isCXX()) { return; } EXPECT_TRUE(matches("struct MyClass {}; MyClass *p1 = new MyClass[10];", - cxxNewExpr(hasArraySize(integerLiteral(equals(10)))))); + cxxNewExpr(hasArraySize( + ignoringParenImpCasts(integerLiteral(equals(10))))))); } TEST_P(ASTMatchersTest, HasDefinition_MatchesStructDefinition) { -- 2.7.4