aboutsummaryrefslogtreecommitdiff
path: root/test/CodeGenObjC/debug-info-ivars-indirect.m
diff options
context:
space:
mode:
Diffstat (limited to 'test/CodeGenObjC/debug-info-ivars-indirect.m')
-rw-r--r--test/CodeGenObjC/debug-info-ivars-indirect.m29
1 files changed, 28 insertions, 1 deletions
diff --git a/test/CodeGenObjC/debug-info-ivars-indirect.m b/test/CodeGenObjC/debug-info-ivars-indirect.m
index 1548ddd0bb6e..f9593d24dea0 100644
--- a/test/CodeGenObjC/debug-info-ivars-indirect.m
+++ b/test/CodeGenObjC/debug-info-ivars-indirect.m
@@ -3,6 +3,14 @@
// Make sure we generate debug symbols for an indirectly referenced
// extension to an interface.
+// This happens to be the order the members are emitted in... I'm assuming it's
+// not meaningful/important, so if something causes the order to change, feel
+// free to update the test to reflect the new order.
+// CHECK: ; [ DW_TAG_member ] [a]
+// CHECK: ; [ DW_TAG_member ] [d]
+// CHECK: ; [ DW_TAG_member ] [c]
+// CHECK: ; [ DW_TAG_member ] [b]
+
@interface I
{
@public int a;
@@ -29,4 +37,23 @@ void gorf (struct S* s) {
int _b = s->i->b;
}
-// CHECK: {{.*}} [ DW_TAG_member ] [b] [line 24, size 32, align 32, offset 0] [from int]
+
+I *source();
+
+@interface I()
+{
+ @public int c;
+}
+@end
+
+void use() {
+ int _c = source()->c;
+}
+
+@interface I()
+{
+ @public int d;
+}
+@end
+
+I *x();