forked from OSchip/llvm-project
				
			
		
			
				
	
	
		
			25 lines
		
	
	
		
			651 B
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			25 lines
		
	
	
		
			651 B
		
	
	
	
		
			C++
		
	
	
	
| // RUN: %clang_cc1 -fvisibility hidden -emit-llvm -o - %s | FileCheck %s
 | |
| 
 | |
| // Verify that symbols are hidden.
 | |
| // CHECK: @_ZN1CIiE5Inner6Inner26StaticE = weak_odr hidden global
 | |
| // CHECK: define weak_odr hidden void @_ZN1CIiE5Inner1fEv
 | |
| // CHECK: define weak_odr hidden void @_ZN1CIiE5Inner6Inner21gEv
 | |
| 
 | |
| template<typename T>
 | |
| struct C {
 | |
|   struct Inner {
 | |
|     void f();
 | |
|     struct Inner2 {
 | |
|       void g();
 | |
|       static int Static;
 | |
|     };
 | |
|   };
 | |
| };
 | |
| 
 | |
| template<typename T> void C<T>::Inner::f() { }
 | |
| template<typename T> void C<T>::Inner::Inner2::g() { }
 | |
| template<typename T> int C<T>::Inner::Inner2::Static;
 | |
| 
 | |
| extern template struct C<int>;
 | |
| template struct C<int>;
 |