1// RUN: %clang_cc1 -fsyntax-only -verify %s
2// expected-no-diagnostics
3typedef signed char BOOL;
4typedef struct _NSZone NSZone;
5
6@protocol NSObject
7- (BOOL)isEqual:(id)object;
8@end
9
10@protocol NSCopying
11- (id)copyWithZone:(NSZone *)zone;
12@end
13
14@interface NSObject <NSObject> {}
15@end
16
17@class NSString, NSData, NSMutableData, NSMutableDictionary, NSMutableArray;
18
19@interface SCMObject : NSObject <NSCopying> {}
20  @property(assign) SCMObject *__attribute__((objc_gc(weak))) parent;
21@end
22
23@interface SCMNode : SCMObject
24{
25  NSString *_name;
26}
27@property(copy) NSString *name;
28@end
29
30@implementation SCMNode
31  @synthesize name = _name;
32  - (void) setParent:(SCMObject *__attribute__((objc_gc(weak)))) inParent {
33    super.parent = inParent;
34  }
35@end
36