r351739 - [ASTImporter] Add test for importing anonymous namespaces.
Raphael Isemann via cfe-commits
cfe-commits at lists.llvm.org
Mon Jan 21 02:14:31 PST 2019
Author: teemperor
Date: Mon Jan 21 02:14:31 2019
New Revision: 351739
URL: http://llvm.org/viewvc/llvm-project?rev=351739&view=rev
Log:
[ASTImporter] Add test for importing anonymous namespaces.
Reviewers: a.sidorin, a_sidorin
Reviewed By: a_sidorin
Subscribers: a_sidorin, martong, cfe-commits
Differential Revision: https://reviews.llvm.org/D51178
Added:
cfe/trunk/test/Import/cxx-anon-namespace/
cfe/trunk/test/Import/cxx-anon-namespace/Inputs/
cfe/trunk/test/Import/cxx-anon-namespace/Inputs/F.cpp
cfe/trunk/test/Import/cxx-anon-namespace/test.cpp
Added: cfe/trunk/test/Import/cxx-anon-namespace/Inputs/F.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Import/cxx-anon-namespace/Inputs/F.cpp?rev=351739&view=auto
==============================================================================
--- cfe/trunk/test/Import/cxx-anon-namespace/Inputs/F.cpp (added)
+++ cfe/trunk/test/Import/cxx-anon-namespace/Inputs/F.cpp Mon Jan 21 02:14:31 2019
@@ -0,0 +1,25 @@
+namespace {
+void func1() {
+}
+} // namespace
+
+namespace test_namespace1 {
+namespace {
+void func2() {}
+} // namespace
+} // namespace test_namespace1
+
+namespace test_namespace2 {
+namespace {
+namespace test_namespace3 {
+void func3() {}
+} // namespace test_namespace3
+} // namespace
+} // namespace test_namespace2
+
+namespace {
+namespace {
+void func4() {
+}
+} // namespace
+} // namespace
Added: cfe/trunk/test/Import/cxx-anon-namespace/test.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Import/cxx-anon-namespace/test.cpp?rev=351739&view=auto
==============================================================================
--- cfe/trunk/test/Import/cxx-anon-namespace/test.cpp (added)
+++ cfe/trunk/test/Import/cxx-anon-namespace/test.cpp Mon Jan 21 02:14:31 2019
@@ -0,0 +1,45 @@
+// RUN: clang-import-test -dump-ast -import %S/Inputs/F.cpp -expression %s | FileCheck %s
+
+// The implicit UsingDirectiveDecls for the anonymous namespaces are created by the Sema.
+
+// CHECK: NamespaceDecl
+// The nested anonymous namespace.
+// CHECK-NEXT: NamespaceDecl
+// CHECK: FunctionDecl
+// CHECK-SAME: func4
+// CHECK-NEXT: CompoundStmt
+// This is for the nested anonymous namespace.
+// CHECK-NEXT: UsingDirectiveDecl
+// CHECK-SAME: ''
+// CHECK: FunctionDecl
+// CHECK-SAME: func1
+// CHECK-NEXT: CompoundStmt
+// CHECK-NEXT: UsingDirectiveDecl
+// CHECK-SAME: ''
+
+// CHECK: NamespaceDecl
+// CHECK-SAME: test_namespace1
+// CHECK-NEXT: NamespaceDecl
+// CHECK: FunctionDecl
+// CHECK-SAME: func2
+// CHECK-NEXT: CompoundStmt
+// CHECK-NEXT: UsingDirectiveDecl
+// CHECK-SAME: ''
+
+// CHECK-NEXT: NamespaceDecl
+// CHECK-SAME: test_namespace2
+// CHECK-NEXT: NamespaceDecl
+// CHECK-NEXT: NamespaceDecl
+// CHECK-SAME: test_namespace3
+// CHECK: FunctionDecl
+// CHECK-SAME: func3
+// CHECK-NEXT: CompoundStmt
+// CHECK-NEXT: UsingDirectiveDecl
+// CHECK-SAME: ''
+
+void expr() {
+ func1();
+ test_namespace1::func2();
+ test_namespace2::test_namespace3::func3();
+ func4();
+}
More information about the cfe-commits
mailing list