1// RUN: %clang_cc1 -fobjc-arc -fobjc-runtime-has-weak -triple x86_64-apple-darwin -S %s -o %t-64.s 2// RUN: FileCheck -check-prefix CHECK-LP64 --input-file=%t-64.s %s 3// REQUIRES: x86-registered-target 4// rdar://8991729 5 6@interface NSObject { 7 id isa; 8} 9@end 10 11@interface AllPointers : NSObject { 12 id foo; 13 id __strong bar; 14 NSObject *bletch; 15} 16@end 17 18@implementation AllPointers 19@end 20// CHECK-LP64: L_OBJC_CLASS_NAME_1: 21// CHECK-LP64-NEXT: .asciz "\003" 22 23@class NSString, NSNumber; 24@interface A : NSObject { 25 NSString *foo; 26 NSNumber *bar; 27 unsigned int bletch; 28 __weak id delegate; 29} 30@end 31 32@interface B : A { 33 unsigned int x; 34 NSString *y; 35 NSString *z; 36} 37@end 38 39@implementation A @end 40 41@implementation B @end 42 43// CHECK-LP64: L_OBJC_CLASS_NAME_15: 44// CHECK-LP64-NEXT: .asciz "\022" 45 46@interface UnsafePerson { 47@public 48 __unsafe_unretained id name; 49 __unsafe_unretained id age; 50 id value; 51} 52@end 53 54@implementation UnsafePerson @end 55// CHECK-LP64: L_OBJC_CLASS_NAME_20: 56// CHECK-LP64-NEXT: .asciz "!" 57 58// rdar://16136439 59@interface rdar16136439 60 @property (nonatomic, readonly, weak) id first; 61@end 62 63@implementation rdar16136439 @end 64// CHECK-LP64: L_OBJC_PROP_NAME_ATTR_29: 65// CHECK-LP64-NEXT: .asciz "T@,R,W,N,V_first" 66