[clang] 8978032 - Fix test for the hasExternalFormalLinkage matcher
Dmitri Gribenko via cfe-commits
cfe-commits at lists.llvm.org
Tue Jul 14 06:45:36 PDT 2020
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) {
More information about the cfe-commits
mailing list