Home | History | Annotate | Download | only in SemaObjC
      1 // RUN: %clang_cc1 -verify -fms-extensions -Wno-objc-root-class %s
      2 @class NSInvocation, NSMethodSignature, NSCoder, NSString, NSEnumerator;
      3 typedef struct _NSRange { } NSRange;
      4 
      5 @class PBXFileReference;
      6 
      7 @interface PBXDocBookmark
      8 + alloc;	// expected-note {{method 'alloc' declared here}}
      9 - autorelease;	// expected-note {{method 'autorelease' declared here}}
     10 @end
     11 
     12 // GCC allows pointer expressions in integer constant expressions.
     13 struct {
     14   char control[((int)(char *)2)];
     15 } xx;
     16 
     17 @implementation PBXDocBookmark // expected-warning {{method definition for 'autorelease' not found}}\
     18                                // expected-warning {{method definition for 'alloc' not found}}
     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
     26