diff options
Diffstat (limited to 'test/Modules/ExtDebugInfo.m')
| -rw-r--r-- | test/Modules/ExtDebugInfo.m | 49 |
1 files changed, 45 insertions, 4 deletions
diff --git a/test/Modules/ExtDebugInfo.m b/test/Modules/ExtDebugInfo.m index 8e063f09048d..71ca853fb7d9 100644 --- a/test/Modules/ExtDebugInfo.m +++ b/test/Modules/ExtDebugInfo.m @@ -18,18 +18,59 @@ @import DebugObjC; #endif +@implementation ObjCClassWithPrivateIVars { + int hidden_ivar; +} +@end + +TypedefUnion tdu; +TypedefEnum tde; +TypedefStruct tds; + int foo(ObjCClass *c) { InnerEnum e = e0; + GlobalStruct.i = GlobalUnion.i = GlobalEnum; [c instanceMethodWithInt: 0]; return [c property]; } -// CHECK-NOT: !DICompositeType(tag: DW_TAG_structure_type, +// CHECK: !DICompositeType(tag: DW_TAG_structure_type, name: "ObjCClassWithPrivateIVars", +// CHECK-SAME: flags: DIFlagObjcClassComplete + +// CHECK: ![[MOD:.*]] = !DIModule(scope: null, name: "DebugObjC + +// CHECK: !DIDerivedType(tag: DW_TAG_member, name: "hidden_ivar", +// CHECK-SAME: flags: DIFlagPrivate) + +// CHECK: !DIGlobalVariable(name: "GlobalUnion", +// CHECK-SAME: type: ![[GLOBAL_UNION:[0-9]+]] +// CHECK: ![[GLOBAL_UNION]] = distinct !DICompositeType(tag: DW_TAG_union_type, +// CHECK-SAME: elements: !{{[0-9]+}}) + +// CHECK: !DIGlobalVariable(name: "GlobalStruct", +// CHECK-SAME: type: ![[GLOBAL_STRUCT:[0-9]+]] +// CHECK: ![[GLOBAL_STRUCT]] = distinct !DICompositeType(tag: DW_TAG_structure_type, +// CHECK-SAME: elements: !{{[0-9]+}}) + +// CHECK: !DIDerivedType(tag: DW_TAG_typedef, name: "TypedefUnion", +// CHECK-SAME: baseType: ![[TD_UNION:.*]]) +// CHECK: ![[TD_UNION]] = !DICompositeType(tag: DW_TAG_union_type, +// CHECK-SAME: flags: DIFlagFwdDecl) + +// CHECK: !DIDerivedType(tag: DW_TAG_typedef, name: "TypedefEnum", +// CHECK-SAME: baseType: ![[TD_ENUM:.*]]) +// CHECK: ![[TD_ENUM]] = !DICompositeType(tag: DW_TAG_enumeration_type, +// CHECK-SAME: flags: DIFlagFwdDecl) + +// CHECK: !DIDerivedType(tag: DW_TAG_typedef, name: "TypedefStruct", +// CHECK-SAME: baseType: ![[TD_STRUCT:.*]]) +// CHECK: ![[TD_STRUCT]] = !DICompositeType(tag: DW_TAG_structure_type, +// CHECK-SAME: flags: DIFlagFwdDecl) + // CHECK: !DICompositeType(tag: DW_TAG_structure_type, name: "ObjCClass", -// CHECK-SAME: scope: ![[MOD:[0-9]+]], +// CHECK-SAME: scope: ![[MOD]], // CHECK-SAME: flags: DIFlagFwdDecl) -// CHECK-NOT: !DICompositeType(tag: DW_TAG_structure_type, -// CHECK: ![[MOD]] = !DIModule(scope: null, name: {{.*}}DebugObjC + // CHECK-NOT: !DICompositeType(tag: DW_TAG_structure_type, // CHECK: !DICompositeType(tag: DW_TAG_enumeration_type, // CHECK-SAME: scope: ![[MOD]], |
