38 lines
		
	
	
		
			588 B
		
	
	
	
		
			Objective-C
		
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			588 B
		
	
	
	
		
			Objective-C
		
	
	
	
| // RUN: %clang_cc1 -fsyntax-only -verify %s
 | |
| // expected-no-diagnostics
 | |
| 
 | |
| @interface NSSound
 | |
| @end
 | |
| @interface NSFont
 | |
| @end
 | |
| 
 | |
| @interface NSSound (Adds)
 | |
| @end
 | |
| 
 | |
| @implementation NSSound (Adds)
 | |
| - foo {
 | |
|   return self;
 | |
| }
 | |
| - (void)setFoo:obj {
 | |
| }
 | |
| @end
 | |
| 
 | |
| @implementation NSFont (Adds)
 | |
| 
 | |
| - xx {
 | |
|   NSSound *x;
 | |
|   id o;
 | |
| 
 | |
|   // GCC does *not* warn about the following. Since foo/setFoo: are not in the
 | |
|   // class or category interface for NSSound, the compiler shouldn't find them.
 | |
|   // For now, we will support GCC's behavior (sigh).
 | |
|   o = [x foo];
 | |
|   o = x.foo;
 | |
|   [x setFoo:o];
 | |
|   x.foo = o;
 | |
|   return 0;
 | |
| }
 | |
| 
 | |
| @end
 | |
| 
 |