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