1*67e74705SXin Li// RUN: %clang_cc1 -verify -fms-extensions -Wno-objc-root-class %s 2*67e74705SXin Li@class NSInvocation, NSMethodSignature, NSCoder, NSString, NSEnumerator; 3*67e74705SXin Litypedef struct _NSRange { } NSRange; 4*67e74705SXin Li 5*67e74705SXin Li@class PBXFileReference; 6*67e74705SXin Li 7*67e74705SXin Li@interface PBXDocBookmark 8*67e74705SXin Li+ alloc; // expected-note {{method 'alloc' declared here}} 9*67e74705SXin Li- autorelease; // expected-note {{method 'autorelease' declared here}} 10*67e74705SXin Li@end 11*67e74705SXin Li 12*67e74705SXin Li// GCC allows pointer expressions in integer constant expressions. 13*67e74705SXin Listruct { 14*67e74705SXin Li char control[((int)(char *)2)]; 15*67e74705SXin Li} xx; 16*67e74705SXin Li 17*67e74705SXin Li@implementation PBXDocBookmark // expected-warning {{method definition for 'autorelease' not found}}\ 18*67e74705SXin Li // expected-warning {{method definition for 'alloc' not found}} 19*67e74705SXin Li 20*67e74705SXin Li+ (id)bookmarkWithFileReference:(PBXFileReference *)fileRef gylphRange:(NSRange)range anchor:(NSString *)htmlAnchor 21*67e74705SXin Li{ 22*67e74705SXin Li NSRange r = (NSRange)range; 23*67e74705SXin Li 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*67e74705SXin Li} 25*67e74705SXin Li@end 26