150
|
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
|