Mostly, try to depend on the annotation comments more so these tests are more legible, brief, and agnostic to schema changes in the future (sure, they're not agnostic to changes to the comment annotations but since they're easier to read they should be easier to update if that happens). llvm-svn: 177457
34 lines
795 B
Objective-C
34 lines
795 B
Objective-C
// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -emit-llvm -g %s -o - | FileCheck %s
|
|
|
|
// Make sure we generate debug symbols for ivars added by a class extension.
|
|
|
|
@interface I
|
|
{
|
|
@public int a;
|
|
}
|
|
@end
|
|
|
|
void foo(I* pi) {
|
|
// poking into pi for primary class ivars.
|
|
int _a = pi->a;
|
|
}
|
|
|
|
@interface I()
|
|
{
|
|
@public int b;
|
|
}
|
|
@end
|
|
|
|
void gorf (I* pg) {
|
|
// poking into pg for ivars for class extension
|
|
int _b = pg->b;
|
|
}
|
|
|
|
// CHECK: {{.*}} [ DW_TAG_structure_type ] [I]
|
|
// Check for "a".
|
|
// CHECK: {{.*}} [ DW_TAG_member ] [a] [line 7, size 32, align 32, offset 0] [from int]
|
|
// Make sure we don't output the same type twice.
|
|
// CHECK-NOT: {{.*}} [ DW_TAG_structure_type ] [I]
|
|
// Check for "b".
|
|
// CHECK: {{.*}} [ DW_TAG_member ] [b] [line 18, size 32, align 32, offset 0] [from int]
|