summaryrefslogtreecommitdiffstats
path: root/test/CodeGenObjC/debug-info-ivars-private.m
diff options
context:
space:
mode:
Diffstat (limited to 'test/CodeGenObjC/debug-info-ivars-private.m')
-rw-r--r--test/CodeGenObjC/debug-info-ivars-private.m36
1 files changed, 36 insertions, 0 deletions
diff --git a/test/CodeGenObjC/debug-info-ivars-private.m b/test/CodeGenObjC/debug-info-ivars-private.m
new file mode 100644
index 0000000..8505da1
--- /dev/null
+++ b/test/CodeGenObjC/debug-info-ivars-private.m
@@ -0,0 +1,36 @@
+// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -emit-llvm -g %s -o - | FileCheck %s
+
+// Debug symbols for private ivars. This test ensures that we are
+// generating debug info for ivars added by the implementation.
+__attribute((objc_root_class)) @interface NSObject {
+ id isa;
+}
+@end
+
+@protocol Protocol
+@end
+
+@interface Delegate : NSObject<Protocol> {
+ @protected int foo;
+}
+@end
+
+@interface Delegate(NSObject)
+- (void)f;
+@end
+
+@implementation Delegate(NSObject)
+- (void)f { return; }
+@end
+
+@implementation Delegate {
+ int bar;
+}
+
+- (void)g:(NSObject*) anObject {
+ bar = foo;
+}
+@end
+
+// CHECK: {{.*}} [ DW_TAG_member ] [foo] [line 14, size 32, align 32, offset 0] [protected] [from int]
+// CHECK: {{.*}} [ DW_TAG_member ] [bar] [line 27, size 32, align 32, offset 0] [private] [from int]
OpenPOWER on IntegriCloud