1 // RUN: %clang_cc1 -fsyntax-only -verify -triple i686-apple-darwin9 -Wno-objc-root-class %s 2 // expected-no-diagnostics 3 // FIXME: must also compile as Objective-C++ 4 5 // <rdar://problem/6487662> 6 typedef struct objc_selector *SEL; 7 typedef signed char BOOL; 8 typedef unsigned int NSUInteger; 9 typedef struct _NSZone NSZone; 10 @class NSInvocation, NSMethodSignature, NSCoder, NSString, NSEnumerator; 11 @protocol NSObject 12 - (BOOL)isEqual:(id)object; 13 - (BOOL)respondsToSelector:(SEL)aSelector; 14 @end 15 @protocol NSCopying 16 - (id)copyWithZone:(NSZone *)zone; 17 @end 18 @protocol NSMutableCopying 19 - (id)mutableCopyWithZone:(NSZone *)zone; 20 @end 21 @protocol NSCoding 22 - (void)encodeWithCoder:(NSCoder *)aCoder; 23 @end 24 @interface NSObject <NSObject> {} 25 @end 26 @class NSString, NSData; 27 typedef struct _NSPoint {} 28 NSRange; 29 @interface NSString : NSObject <NSCopying, NSMutableCopying, NSCoding> 30 - (NSUInteger)length; 31 @end 32 @interface NSMutableString : NSString 33 - (void)replaceCharactersInRange:(NSRange)range withString:(NSString *)aString; 34 @end 35 @class NSArray, NSDictionary, NSMapTable; 36 @interface NSResponder : NSObject <NSCoding> {} 37 @end 38 @protocol NSAnimatablePropertyContainer 39 - (id)animator; 40 @end 41 extern NSString *NSAnimationTriggerOrderIn ; 42 @interface NSView : NSResponder <NSAnimatablePropertyContainer> { 43 struct __VFlags2 {} _vFlags2; 44 } 45 @end 46 @class NSAttributedString, NSEvent, NSFont, NSFormatter, NSImage, NSMenu, NSText, NSView; 47 @interface FooiagramView : NSView { 48 id _delegate; 49 } 50 @end 51 @class FooiagramView; 52 @interface _FooiagramViewReserved : NSObject { 53 @public 54 NSMutableString *_typeToSelectString; 55 struct _FooiagramViewFlags { 56 unsigned int delegateRespondsToPrintInfoForBarView : 1; 57 } _dvFlags; 58 } 59 @end 60 extern _FooiagramViewReserved *_FooiagramViewBarViewReserved(FooiagramView *BarView); 61 @interface FooiagramView (FooiagramViewPrivate) 62 + (Class)_defaultBarToolManagerClass; 63 @end 64 @implementation FooiagramView 65 static NSMapTable *_defaultMenuForClass = 0; 66 - (void)setDelegate:(id)delegate { 67 if (_delegate != delegate) { 68 struct _FooiagramViewFlags *dvFlags = 69 &_FooiagramViewBarViewReserved(self)->_dvFlags; 70 if (_delegate != ((void *)0)) { 71 dvFlags->delegateRespondsToPrintInfoForBarView = [_delegate respondsToSelector:@selector(printInfoForBarView:)]; 72 } 73 } 74 } 75 @end 76 77 // <rdar://problem/6487684> 78 @interface WizKing_MIKeep { 79 struct __LoreStuffNode *_historyStuff; 80 } 81 @end 82 typedef struct __LoreStuffNode {} LoreStuffNode; 83 @implementation WizKing_MIKeep 84 - init { 85 LoreStuffNode *node; 86 node = &(_historyStuff[1]); 87 return 0; 88 } 89 @end 90 91 // <rdar://problem/6487702> 92 typedef long unsigned int __darwin_size_t; 93 typedef __darwin_size_t size_t; 94 void *memset(void *, int, size_t); 95 @class NSString, NSURL, NSError; 96 @interface OingoWerdnaPeon : NSObject {} 97 @end typedef enum { 98 OingoPT_SmashOK, OingoPT_NoSuchFile, } 99 OingoWerdnaPeonIOMethod; 100 @interface OingoWerdnaPeonSmashDrivel : NSObject <NSCopying> {} 101 @end 102 @interface OingoBoingoContraptionPeon : OingoWerdnaPeon { 103 struct _OingoBoingoContraptionPeonFlags {} 104 _nfttFlags; 105 } 106 @end 107 @implementation OingoBoingoContraptionPeon 108 + (void)initialize {} 109 - (id)initWithSmashDrivel:(OingoWerdnaPeonSmashDrivel *)info { 110 if (self != ((void *)0)) { 111 (void)memset(&_nfttFlags, 0, sizeof(struct _OingoBoingoContraptionPeonFlags)); 112 } 113 return 0; 114 } 115 @end 116 117 @interface Blah { 118 struct X { 119 int x; 120 } value; 121 } 122 @end 123 124 @implementation Blah 125 - (int)getValue { 126 struct X *xp = &value; 127 return xp->x; 128 } 129 @end 130