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(); +} _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits