forked from OSchip/llvm-project
				
			
		
			
				
	
	
		
			29 lines
		
	
	
		
			731 B
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			731 B
		
	
	
	
		
			C++
		
	
	
	
| namespace std {
 | |
|   template<typename T>
 | |
|   class allocator { 
 | |
|   public:
 | |
|     void in_base();
 | |
|   };
 | |
|   
 | |
|   template<typename T, typename Alloc = std::allocator<T> >
 | |
|   class vector : Alloc {
 | |
|   public:
 | |
|     void foo();
 | |
|     void stop();
 | |
|   };
 | |
|   template<typename Alloc> class vector<bool, Alloc>;
 | |
| }
 | |
| 
 | |
| void f() {
 | |
|   std::vector<int> v;
 | |
|   v.foo();
 | |
|   // RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:18:8 %s -o - | FileCheck -check-prefix=CHECK-CC1 %s
 | |
|   // CHECK-CC1: allocator<<#typename T#>>
 | |
|   // CHECK-CC1-NEXT: vector<<#typename T#>{#, <#typename Alloc#>#}>
 | |
|   // RUN: %clang_cc1 -fsyntax-only -code-completion-at=%s:19:5 %s -o - | FileCheck -check-prefix=CHECK-CC2 %s
 | |
|   // CHECK-CC2: foo
 | |
|   // CHECK-CC2: in_base
 | |
|   // CHECK-CC2: stop
 | |
|   
 | |
| 
 |