mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-07 14:33:15 +00:00
Add DwarfUnit::addGlobalType to match DwarfUnit::addGlobalName
(these will shortly become virtual, with a null implementation in DwarfUnit (since type units don't have accelerator tables in the current schema) and the current implementation down in DwarfCompileUnit, moving the actual maps there too) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@221082 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
1808f3e89a
commit
5ede09079b
@ -976,11 +976,9 @@ void DwarfUnit::updateAcceleratorTables(DIScope Context, DIType Ty,
|
||||
unsigned Flags = IsImplementation ? dwarf::DW_FLAG_type_implementation : 0;
|
||||
DD->addAccelType(Ty.getName(), TyDIE, Flags);
|
||||
|
||||
if ((!Context || Context.isCompileUnit() || Context.isFile() ||
|
||||
Context.isNameSpace()) &&
|
||||
getCUNode().getEmissionKind() != DIBuilder::LineTablesOnly)
|
||||
GlobalTypes[getParentContextString(Context) + Ty.getName().str()] =
|
||||
&TyDIE;
|
||||
if (!Context || Context.isCompileUnit() || Context.isFile() ||
|
||||
Context.isNameSpace())
|
||||
addGlobalType(Ty, TyDIE, Context);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1013,6 +1011,14 @@ void DwarfUnit::addGlobalName(StringRef Name, DIE &Die, DIScope Context) {
|
||||
GlobalNames[FullName] = &Die;
|
||||
}
|
||||
|
||||
/// Add a new global type to the unit.
|
||||
void DwarfUnit::addGlobalType(DIType Ty, const DIE &Die, DIScope Context) {
|
||||
if (getCUNode().getEmissionKind() == DIBuilder::LineTablesOnly)
|
||||
return;
|
||||
std::string FullName = getParentContextString(Context) + Ty.getName().str();
|
||||
GlobalTypes[FullName] = &Die;
|
||||
}
|
||||
|
||||
/// getParentContextString - Walks the metadata parent chain in a language
|
||||
/// specific manner (using the compile unit language) and returns
|
||||
/// it as a string. This is done at the metadata level because DIEs may
|
||||
|
@ -174,10 +174,12 @@ public:
|
||||
/// context for a global name.
|
||||
std::string getParentContextString(DIScope Context) const;
|
||||
|
||||
/// addGlobalName - Add a new global entity to the compile unit.
|
||||
///
|
||||
/// Add a new global name to the compile unit.
|
||||
void addGlobalName(StringRef Name, DIE &Die, DIScope Context);
|
||||
|
||||
/// Add a new global type to the compile unit.
|
||||
void addGlobalType(DIType Ty, const DIE &Die, DIScope Context);
|
||||
|
||||
/// addAccelNamespace - Add a new name to the namespace accelerator table.
|
||||
void addAccelNamespace(StringRef Name, const DIE &Die);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user