aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp2
-rw-r--r--test/DebugInfo/X86/gnu-public-names.ll3
2 files changed, 4 insertions, 1 deletions
diff --git a/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp b/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
index 171c13803c..7d35937cca 100644
--- a/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
+++ b/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
@@ -880,7 +880,7 @@ void CompileUnit::addGlobalName(StringRef Name, DIE *Die) {
///
void CompileUnit::addGlobalType(DIType Ty) {
DIDescriptor Context = DD->resolve(Ty.getContext());
- if (Ty.isCompositeType() && !Ty.getName().empty() && !Ty.isForwardDecl() &&
+ if (!Ty.getName().empty() && !Ty.isForwardDecl() &&
(!Context || Context.isCompileUnit() || Context.isFile() ||
Context.isNameSpace()))
if (DIEEntry *Entry = getDIEEntry(Ty))
diff --git a/test/DebugInfo/X86/gnu-public-names.ll b/test/DebugInfo/X86/gnu-public-names.ll
index 54320be7e7..bca78c39f0 100644
--- a/test/DebugInfo/X86/gnu-public-names.ll
+++ b/test/DebugInfo/X86/gnu-public-names.ll
@@ -38,6 +38,9 @@
; ASM: .section .debug_gnu_pubtypes
; ASM: .byte 16 # Kind: TYPE, EXTERNAL
+; ASM: .asciz "C" # External Name
+; ASM: .byte 144 # Kind: TYPE, STATIC
+; ASM: .asciz "int" # External Name
; CHECK: .debug_info contents:
; CHECK: 0x00000046: DW_TAG_subprogram