forked from OSchip/llvm-project
				
			
		
			
				
	
	
		
			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();
 | |
| }
 |