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