blob: ffd740f7fc446b07befbce240603d63059e592ac [file] [log] [blame]
Patrick Beardb2f68202012-04-06 18:12:22 +00001// RUN: %clang_cc1 -fsyntax-only -verify -triple i686-apple-darwin9 -Wno-objc-root-class %s
Andy Gibbs8e8fb3b2012-10-19 12:44:48 +00002// expected-no-diagnostics
Douglas Gregor1a0d31a2009-01-12 18:45:55 +00003// FIXME: must also compile as Objective-C++
4
5// <rdar://problem/6487662>
6typedef struct objc_selector *SEL;
7typedef signed char BOOL;
8typedef unsigned int NSUInteger;
9typedef 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;
27typedef struct _NSPoint {}
28NSRange;
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
41extern 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 {
48id _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
60extern _FooiagramViewReserved *_FooiagramViewBarViewReserved(FooiagramView *BarView);
61@interface FooiagramView (FooiagramViewPrivate)
62+ (Class)_defaultBarToolManagerClass;
63@end
64@implementation FooiagramView
65static 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 {
79struct __LoreStuffNode *_historyStuff;
80}
81@end
82typedef struct __LoreStuffNode {} LoreStuffNode;
83@implementation WizKing_MIKeep
84- init {
85 LoreStuffNode *node;
86 node = &(_historyStuff[1]);
Mike Stumpd1969d82009-07-22 00:43:08 +000087 return 0;
Douglas Gregor1a0d31a2009-01-12 18:45:55 +000088}
89@end
90
91// <rdar://problem/6487702>
92typedef long unsigned int __darwin_size_t;
93typedef __darwin_size_t size_t;
94void *memset(void *, int, size_t);
95@class NSString, NSURL, NSError;
96@interface OingoWerdnaPeon : NSObject {}
97@end typedef enum {
98OingoPT_SmashOK, OingoPT_NoSuchFile, }
99OingoWerdnaPeonIOMethod;
100@interface OingoWerdnaPeonSmashDrivel : NSObject <NSCopying> {}
101@end
102@interface OingoBoingoContraptionPeon : OingoWerdnaPeon {
103struct _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 }
Mike Stumpd1969d82009-07-22 00:43:08 +0000113 return 0;
Douglas Gregor1a0d31a2009-01-12 18:45:55 +0000114}
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