21 lines
		
	
	
		
			518 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			21 lines
		
	
	
		
			518 B
		
	
	
	
		
			C++
		
	
	
	
	
	
| // RUN: %clang_cc1 -fsyntax-only -verify %s
 | |
| 
 | |
| template <class Element>
 | |
| void foo() {
 | |
| }
 | |
| template <>
 | |
|  __attribute__((visibility("hidden")))  // expected-note {{previous attribute is here}}
 | |
| void foo<int>();
 | |
| 
 | |
| template <>
 | |
| void foo<int>();
 | |
| 
 | |
| template <>
 | |
|  __attribute__((visibility("default"))) // expected-error {{visibility does not match previous declaration}}
 | |
| void foo<int>() {
 | |
| }
 | |
| 
 | |
| struct x3 {
 | |
|   static int y;
 | |
| } __attribute((visibility("default"))); // expected-warning {{attribute 'visibility' after definition is ignored}}
 | 
