1// REQUIRES: x86-registered-target 2// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -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