diff options
author | Adrian Prantl <aprantl@apple.com> | 2017-07-24 23:48:51 +0000 |
---|---|---|
committer | Adrian Prantl <aprantl@apple.com> | 2017-07-24 23:48:51 +0000 |
commit | a43acdc4d48ed9c73662646bb44cd57bbf4a7a74 (patch) | |
tree | a6e1c6a1deb3645b32f3fc5a0cea6cc483bd9a51 /clang/test/Modules/ExtDebugInfo.cpp | |
parent | 48666a694c7ba4f230a4c2ad8ca3be3084c32f47 (diff) | |
download | bcm5719-llvm-a43acdc4d48ed9c73662646bb44cd57bbf4a7a74.tar.gz bcm5719-llvm-a43acdc4d48ed9c73662646bb44cd57bbf4a7a74.zip |
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
Diffstat (limited to 'clang/test/Modules/ExtDebugInfo.cpp')
-rw-r--r-- | clang/test/Modules/ExtDebugInfo.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/clang/test/Modules/ExtDebugInfo.cpp b/clang/test/Modules/ExtDebugInfo.cpp index ed9d1e859d8..97386bc4d00 100644 --- a/clang/test/Modules/ExtDebugInfo.cpp +++ b/clang/test/Modules/ExtDebugInfo.cpp @@ -69,6 +69,8 @@ WithSpecializedBase<int> definedLocally4; void foo() { anon.i = GlobalStruct.i = GlobalUnion.i = GlobalEnum; + A a; + Virtual virt; } // CHECK: ![[CPP:.*]] = !DIFile(filename: {{.*}}ExtDebugInfo.cpp" @@ -210,3 +212,10 @@ void foo() { // CHECK-SAME: dwoId: // CHECK-PCH: !DICompileUnit({{.*}}splitDebugFilename: // CHECK-PCH: dwoId: 18446744073709551614 + +// CHECK: !DICompositeType(tag: DW_TAG_class_type, name: "A", +// CHECK-SAME: DIFlagFwdDecl, identifier: "_ZTS1A") + +// There is a full definition of the type available in the module. +// CHECK: !DICompositeType(tag: DW_TAG_structure_type, name: "Virtual", +// CHECK-SAME: DIFlagFwdDecl, identifier: "_ZTS7Virtual") |