Author: Dmitri Gribenko Date: 2020-07-14T15:44:53+02:00 New Revision: 8978032a17cd0f1c3925ecb1752fdf59de7f7967
URL: https://github.com/llvm/llvm-project/commit/8978032a17cd0f1c3925ecb1752fdf59de7f7967 DIFF: https://github.com/llvm/llvm-project/commit/8978032a17cd0f1c3925ecb1752fdf59de7f7967.diff LOG: Fix test for the hasExternalFormalLinkage matcher Summary: Names of local variables have no linkage (see C++20 [basic.link] p8). Names of variables in unnamed namespace have internal linkage (see C++20 [basic.link] p4). Reviewers: aaron.ballman, rsmith, ymandel Reviewed By: ymandel Subscribers: cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D83700 Added: Modified: clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp Removed: ################################################################################ diff --git a/clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp b/clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp index 687908043a8d..c249410201ba 100644 --- a/clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp +++ b/clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp @@ -2534,19 +2534,16 @@ TEST(NullPointerConstants, Basic) { } TEST(HasExternalFormalLinkage, Basic) { - EXPECT_TRUE(matches("int a = 0;", namedDecl(hasExternalFormalLinkage()))); - EXPECT_TRUE( - notMatches("static int a = 0;", namedDecl(hasExternalFormalLinkage()))); + EXPECT_TRUE(matches("int a = 0;", + namedDecl(hasName("a"), hasExternalFormalLinkage()))); + EXPECT_TRUE(notMatches("static int a = 0;", + namedDecl(hasName("a"), hasExternalFormalLinkage()))); EXPECT_TRUE(notMatches("static void f(void) { int a = 0; }", - namedDecl(hasExternalFormalLinkage()))); - EXPECT_TRUE(matches("void f(void) { int a = 0; }", - namedDecl(hasExternalFormalLinkage()))); - - // Despite having internal semantic linkage, the anonymous namespace member - // has external linkage because the member has a unique name in all - // translation units. - EXPECT_TRUE(matches("namespace { int a = 0; }", - namedDecl(hasExternalFormalLinkage()))); + namedDecl(hasName("a"), hasExternalFormalLinkage()))); + EXPECT_TRUE(notMatches("void f(void) { int a = 0; }", + namedDecl(hasName("a"), hasExternalFormalLinkage()))); + EXPECT_TRUE(notMatches("namespace { int a = 0; }", + namedDecl(hasName("a"), hasExternalFormalLinkage()))); } TEST(HasDefaultArgument, Basic) { _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits