diff options
Diffstat (limited to 'clang/test')
| -rw-r--r-- | clang/test/Modules/ExtDebugInfo.m | 4 | ||||
| -rw-r--r-- | clang/test/Modules/Inputs/DebugObjC.h | 10 | ||||
| -rw-r--r-- | clang/test/Modules/ModuleDebugInfo.m | 1 |
3 files changed, 15 insertions, 0 deletions
diff --git a/clang/test/Modules/ExtDebugInfo.m b/clang/test/Modules/ExtDebugInfo.m index 9bf8bbfbdc8..8e063f09048 100644 --- a/clang/test/Modules/ExtDebugInfo.m +++ b/clang/test/Modules/ExtDebugInfo.m @@ -19,6 +19,7 @@ #endif int foo(ObjCClass *c) { + InnerEnum e = e0; [c instanceMethodWithInt: 0]; return [c property]; } @@ -30,3 +31,6 @@ int foo(ObjCClass *c) { // 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]], +// CHECK-SAME: flags: DIFlagFwdDecl) diff --git a/clang/test/Modules/Inputs/DebugObjC.h b/clang/test/Modules/Inputs/DebugObjC.h index 979871d33c0..bde463abfd6 100644 --- a/clang/test/Modules/Inputs/DebugObjC.h +++ b/clang/test/Modules/Inputs/DebugObjC.h @@ -12,3 +12,13 @@ @interface ObjCClass (Category) - categoryMethod; @end + +@protocol ObjCProtocol + +typedef enum { + e0 = 0 +} InnerEnum; + ++ (InnerEnum)protocolMethod; + +@end diff --git a/clang/test/Modules/ModuleDebugInfo.m b/clang/test/Modules/ModuleDebugInfo.m index 31132c558ca..72f60798a7f 100644 --- a/clang/test/Modules/ModuleDebugInfo.m +++ b/clang/test/Modules/ModuleDebugInfo.m @@ -33,6 +33,7 @@ // CHECK: !DISubprogram(name: "+[ObjCClass classMethod]" // CHECK: !DISubprogram(name: "-[ObjCClass instanceMethodWithInt:]" // CHECK: !DISubprogram(name: "-[ categoryMethod]" +// CHECK: !DITypedefType(name: "InnerEnum" // MODULE-CHECK: !DICompositeType(tag: DW_TAG_structure_type, // MODULE-CHECK-SAME: name: "FwdDecl", |

