DebugInfo: Omit pubnames/pubtypes when compiling with -gmlt

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203634 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
David Blaikie 2014-03-12 03:34:38 +00:00
parent 1c7fef193f
commit 9d3e746b85
2 changed files with 11 additions and 2 deletions

View File

@ -998,8 +998,9 @@ void DwarfUnit::updateAcceleratorTables(DIScope Context, DIType Ty,
unsigned Flags = IsImplementation ? dwarf::DW_FLAG_type_implementation : 0;
addAccelType(Ty.getName(), std::make_pair(TyDIE, Flags));
if (!Context || Context.isCompileUnit() || Context.isFile() ||
Context.isNameSpace())
if ((!Context || Context.isCompileUnit() || Context.isFile() ||
Context.isNameSpace()) &&
getCUNode().getEmissionKind() != DIBuilder::LineTablesOnly)
GlobalTypes[getParentContextString(Context) + Ty.getName().str()] = TyDIE;
}
}
@ -1064,6 +1065,8 @@ void DwarfUnit::addAccelType(StringRef Name,
/// addGlobalName - Add a new global name to the compile unit.
void DwarfUnit::addGlobalName(StringRef Name, DIE *Die, DIScope Context) {
if (getCUNode().getEmissionKind() == DIBuilder::LineTablesOnly)
return;
std::string FullName = getParentContextString(Context) + Name.str();
GlobalNames[FullName] = Die;
}

View File

@ -12,6 +12,12 @@
; CHECK: .debug_ranges contents:
; CHECK-NOT: 00000000 <End of list>
; CHECK: .debug_pubnames contents:
; CHECK-NOT: Offset
; CHECK: .debug_pubtypes contents:
; CHECK-NOT: Offset
; Function Attrs: nounwind uwtable
define i32 @f(i32 %a) #0 {
entry: