50 lines
1.4 KiB
C++
50 lines
1.4 KiB
C++
// 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.
|
|
|
|
// There might be another builtin namespace before our first namespace, so we can't
|
|
// just look for NamespaceDecl. Instead look for the first line of F.cpp (which only
|
|
// contains the namespace we are looking for but no other decl).
|
|
// CHECK: F.cpp:1:1
|
|
// The nested anonymous namespace.
|
|
// CHECK-NEXT: NamespaceDecl
|
|
// CHECK-SAME: line:21:11
|
|
// 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();
|
|
}
|