1// RUN: %clang_cc1 -debug-info-kind=limited -emit-llvm -triple x86_64-apple-darwin -o - %s | FileCheck %s 2// Check that we emit the correct method names for properties from a protocol. 3// rdar://problem/13798000 4@protocol NSObject 5- (id)init; 6@end 7@interface NSObject <NSObject> {} 8@end 9 10@class Selection; 11 12@protocol HasASelection <NSObject> 13@property (nonatomic, retain) Selection* selection; 14// CHECK: !DISubprogram(name: "-[MyClass selection]" 15// CHECK-SAME: line: [[@LINE-2]] 16// CHECK-SAME: isLocal: true, isDefinition: true 17// CHECK: !DISubprogram(name: "-[MyClass setSelection:]" 18// CHECK-SAME: line: [[@LINE-5]] 19// CHECK-SAME: isLocal: true, isDefinition: true 20// CHECK: !DISubprogram(name: "-[OtherClass selection]" 21// CHECK-SAME: line: [[@LINE-8]] 22// CHECK-SAME: isLocal: true, isDefinition: true 23// CHECK: !DISubprogram(name: "-[OtherClass setSelection:]" 24// CHECK-SAME: line: [[@LINE-11]] 25// CHECK-SAME: isLocal: true, isDefinition: true 26 27@end 28 29@interface MyClass : NSObject <HasASelection> { 30 Selection *_selection; 31} 32@end 33 34@implementation MyClass 35@synthesize selection = _selection; 36@end 37 38@interface OtherClass : NSObject <HasASelection> { 39 Selection *_selection; 40} 41@end 42@implementation OtherClass 43@synthesize selection = _selection; 44@end 45