24 lines
		
	
	
		
			738 B
		
	
	
	
		
			Objective-C
		
	
	
	
			
		
		
	
	
			24 lines
		
	
	
		
			738 B
		
	
	
	
		
			Objective-C
		
	
	
	
| // RUN: %clang_cc1 -fsyntax-only -DBOTH -verify %s
 | |
| // If the decls come from a pch, the behavior shouldn't change:
 | |
| // RUN: %clang_cc1 -x objective-c-header %s -emit-pch -o %t
 | |
| // RUN: %clang_cc1 -DUSES -include-pch %t -fsyntax-only -verify %s
 | |
| // expected-no-diagnostics
 | |
| 
 | |
| // The slightly strange ifdefs are so that the command that builds the gch file
 | |
| // doesn't need any -D switches, for these would get embedded in the gch.
 | |
| 
 | |
| #ifndef USES
 | |
| @interface Interface1
 | |
| - (void)partiallyUnavailableMethod;
 | |
| @end
 | |
| @interface Interface2
 | |
| - (void)partiallyUnavailableMethod __attribute__((unavailable));
 | |
| @end
 | |
| #endif
 | |
| 
 | |
| #if defined(USES) || defined(BOTH)
 | |
| void f(id a) {
 | |
|   [a partiallyUnavailableMethod];  // no warning, `a` could be an Interface1.
 | |
| }
 | |
| #endif
 |