| Patrick Beard | acfbe9e | 2012-04-06 18:12:22 +0000 | [diff] [blame] | 1 | // RUN: %clang_cc1 -verify -fms-extensions -Wno-objc-root-class %s | 
| Steve Naroff | 0b225da | 2008-06-03 13:21:30 +0000 | [diff] [blame] | 2 | @class NSInvocation, NSMethodSignature, NSCoder, NSString, NSEnumerator; | 
|  | 3 | typedef struct _NSRange { } NSRange; | 
|  | 4 |  | 
|  | 5 | @class PBXFileReference; | 
|  | 6 |  | 
|  | 7 | @interface PBXDocBookmark | 
| Ted Kremenek | 65d6357 | 2013-03-27 00:02:21 +0000 | [diff] [blame] | 8 | + alloc;	// expected-note {{method 'alloc' declared here}} | 
|  | 9 | - autorelease;	// expected-note {{method 'autorelease' declared here}} | 
| Steve Naroff | 0b225da | 2008-06-03 13:21:30 +0000 | [diff] [blame] | 10 | @end | 
| Steve Naroff | aaf5108 | 2008-06-03 17:15:29 +0000 | [diff] [blame] | 11 |  | 
|  | 12 | // GCC allows pointer expressions in integer constant expressions. | 
|  | 13 | struct { | 
|  | 14 | char control[((int)(char *)2)]; | 
|  | 15 | } xx; | 
|  | 16 |  | 
| Ted Kremenek | 65d6357 | 2013-03-27 00:02:21 +0000 | [diff] [blame] | 17 | @implementation PBXDocBookmark // expected-warning {{method definition for 'autorelease' not found}}\ | 
|  | 18 | // expected-warning {{method definition for 'alloc' not found}} | 
| Steve Naroff | 0b225da | 2008-06-03 13:21:30 +0000 | [diff] [blame] | 19 |  | 
|  | 20 | + (id)bookmarkWithFileReference:(PBXFileReference *)fileRef gylphRange:(NSRange)range anchor:(NSString *)htmlAnchor | 
|  | 21 | { | 
|  | 22 | NSRange r = (NSRange)range; | 
|  | 23 | 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')}} | 
|  | 24 | } | 
|  | 25 | @end |