Debug Info: Avoid completing class types when a definition is in a module.
This patch adds an early exit to CGDebugInfo::completeClassData() when compiling with -gmodules and the to-be-completed type is available in a clang module. rdar://problem/23599990 llvm-svn: 308938
This commit is contained in:
@@ -86,10 +86,10 @@
|
||||
// CHECK-SAME: flags: DIFlagFwdDecl
|
||||
// CHECK-SAME: identifier: "_ZTSN8DebugCXX8TemplateIfNS_6traitsIfEEEE")
|
||||
|
||||
// CHECK: !DICompositeType(tag: DW_TAG_class_type, name: "FwdVirtual"
|
||||
// CHECK: !DICompositeType(tag: DW_TAG_structure_type, name: "Virtual"
|
||||
// CHECK-SAME: elements:
|
||||
// CHECK-SAME: identifier: "_ZTS10FwdVirtual")
|
||||
// CHECK: !DIDerivedType(tag: DW_TAG_member, name: "_vptr$FwdVirtual"
|
||||
// CHECK-SAME: identifier: "_ZTS7Virtual")
|
||||
// CHECK: !DIDerivedType(tag: DW_TAG_member, name: "_vptr$Virtual"
|
||||
|
||||
// CHECK: !DICompositeType(tag: DW_TAG_union_type,
|
||||
// CHECK-NOT: name:
|
||||
@@ -111,6 +111,11 @@
|
||||
// CHECK-SAME: name: "InAnonymousNamespace",
|
||||
// CHECK-SAME: elements: !{{[0-9]+}})
|
||||
|
||||
// CHECK: ![[A:.*]] = {{.*}}!DICompositeType(tag: DW_TAG_class_type, name: "A",
|
||||
// CHECK-SAME: elements:
|
||||
// CHECK-SAME: vtableHolder: ![[A]],
|
||||
// CHECK-SAME: identifier: "_ZTS1A")
|
||||
|
||||
// CHECK: ![[DERIVED:.*]] = {{.*}}!DICompositeType(tag: DW_TAG_class_type, name: "Derived",
|
||||
// CHECK-SAME: identifier: "_ZTS7Derived")
|
||||
// CHECK: !DICompositeType(tag: DW_TAG_class_type, name: "B", scope: ![[DERIVED]],
|
||||
|
||||
Reference in New Issue
Block a user