1// RUN: %clang_cc1 -emit-llvm -x objective-c -debug-info-kind=limited -triple x86_64-apple-macosx10.8.0 %s -o - | FileCheck %s 2// 3// rdar://problem/14035789 4// 5// Ensure we emit the names of explicit/renamed accessors even if they 6// are defined later in the implementation section. 7// 8// CHECK: !DIObjCProperty(name: "blah" 9// CHECK-SAME: getter: "isBlah" 10 11@class NSString; 12extern void NSLog(NSString *format, ...); 13typedef signed char BOOL; 14 15#define YES ((BOOL)1) 16#define NO ((BOOL)0) 17 18typedef unsigned int NSUInteger; 19 20@protocol NSObject 21@end 22 23@interface NSObject <NSObject> 24- (id)init; 25+ (id)alloc; 26@end 27 28@interface Bar : NSObject 29@property int normal_property; 30@property (getter=isBlah, setter=setBlah:) BOOL blah; 31@end 32 33@implementation Bar 34@synthesize normal_property; 35 36- (BOOL) isBlah 37{ 38 return YES; 39} 40- (void) setBlah: (BOOL) newBlah 41{ 42 NSLog (@"Speak up, I didn't catch that."); 43} 44@end 45 46int 47main () 48{ 49 Bar *my_bar = [[Bar alloc] init]; 50 51 if (my_bar.blah) 52 NSLog (@"It was true!!!"); 53 54 my_bar.blah = NO; 55 56 return 0; 57} 58