Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / clang / test / CodeGenObjC / debug-info-property-accessors.m
blob22e54910a1af55abee7e46f52ea761922ef81fea
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 // Ensure we emit the names of explicit/renamed accessors even if they
4 // are defined later in the implementation section.
5 //
6 // CHECK:  !DIObjCProperty(name: "blah"
7 // CHECK-SAME:             getter: "isBlah"
9 @class NSString;
10 extern void NSLog(NSString *format, ...);
11 typedef signed char BOOL;
13 #define YES             ((BOOL)1)
14 #define NO              ((BOOL)0)
16 typedef unsigned int NSUInteger;
18 @protocol NSObject
19 @end
21 @interface NSObject <NSObject>
22 - (id)init;
23 + (id)alloc;
24 @end
26 @interface Bar : NSObject
27 @property int normal_property;
28 @property (getter=isBlah, setter=setBlah:) BOOL blah;
29 @end
31 @implementation Bar
32 @synthesize normal_property;
34 - (BOOL) isBlah
36   return YES;
38 - (void) setBlah: (BOOL) newBlah
40   NSLog (@"Speak up, I didn't catch that.");
42 @end
44 int
45 main (void)
47   Bar *my_bar = [[Bar alloc] init];
49   if (my_bar.blah)
50     NSLog (@"It was true!!!");
52   my_bar.blah = NO;
54   return 0;