1 // REQUIRES: x86-64-registered-target 2 // RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fobjc-nonfragile-abi -S -o %t %s 3 // RUN: FileCheck < %t %s 4 5 // rdar://9072317 6 7 /** The problem looks like clang getting confused when a single translation unit 8 contains a protocol with a property and two classes that implement that protocol 9 and synthesize the property. 10 */ 11 12 @protocol Proto 13 @property (assign) id prop; 14 @end 15 16 @interface NSObject @end 17 18 @interface Foo : NSObject <Proto> { int x; } @end 19 20 @interface Bar : NSObject <Proto> @end 21 22 @implementation Foo 23 @synthesize prop; 24 @end 25 26 @implementation Bar 27 @synthesize prop; 28 @end 29 30 // CHECK: l_OBJC_$_INSTANCE_METHODS_Bar: 31 // CHECK-NEXT .long 24 32 // CHECK-NEXT .long 2 33 // CHECK-NEXT .quad L_OBJC_METH_VAR_NAME_ 34 // CHECK-NEXT .quad L_OBJC_METH_VAR_TYPE_ 35 // CHECK-NEXT .quad "-[Bar prop]" 36