26 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Objective-C
		
	
	
	
| // RUN: %clang_cc1 -verify -fms-extensions -Wno-objc-root-class %s
 | |
| @class NSInvocation, NSMethodSignature, NSCoder, NSString, NSEnumerator;
 | |
| typedef struct _NSRange { } NSRange;
 | |
| 
 | |
| @class PBXFileReference;
 | |
| 
 | |
| @interface PBXDocBookmark
 | |
| + alloc;	// expected-note {{method 'alloc' declared here}}
 | |
| - autorelease;	// expected-note {{method 'autorelease' declared here}}
 | |
| @end
 | |
| 
 | |
| // GCC allows pointer expressions in integer constant expressions.
 | |
| struct {
 | |
|   char control[((int)(char *)2)];
 | |
| } xx;
 | |
| 
 | |
| @implementation PBXDocBookmark // expected-warning {{method definition for 'autorelease' not found}}\
 | |
|                                // expected-warning {{method definition for 'alloc' not found}}
 | |
| 
 | |
| + (id)bookmarkWithFileReference:(PBXFileReference *)fileRef gylphRange:(NSRange)range anchor:(NSString *)htmlAnchor
 | |
| {
 | |
|     NSRange r = (NSRange)range;
 | |
|     return [[[self alloc] initWithFileReference:fileRef gylphRange:(NSRange)range anchor:(NSString *)htmlAnchor] autorelease];  // expected-warning {{method '-initWithFileReference:gylphRange:anchor:' not found (return type defaults to 'id')}}
 | |
| }
 | |
| @end
 |