5 // Created by Patrick Beard on 3/8/11.
6 // Copyright 2011 __MyCompanyName__. All rights reserved.
12 // MRCBase->alignment ensures that there is a gap between the end of
13 // NSObject's ivars and the start of MRCBase's ivars, which exercises
14 // handling of storage that is not represented in any class's ivar
17 #if __has_feature(objc_arc_weak)
18 bool supportsMRCWeak = true;
20 bool supportsMRCWeak = false;
23 @interface MRCBase () {
25 double DOUBLEWORD_ALIGNED alignment;
26 uintptr_t pad[3]; // historically this made OBJC2 layout bitmaps match OBJC1
30 #if __has_feature(objc_arc_weak)
37 @implementation MRCBase
38 @synthesize number, object, pointer, delegate;
41 // Call object_copy from MRC.
42 extern id __attribute__((ns_returns_retained))
45 return object_copy(obj, 0);