parent
13d3373e72
commit
ccee9baebe
|
|
@ -1267,6 +1267,7 @@ DIE *DwarfWriter::NewType(DIE *Context, TypeDesc *TyDesc, CompileUnit *Unit) {
|
||||||
// Type DIE result.
|
// Type DIE result.
|
||||||
DIE *Ty = NULL;
|
DIE *Ty = NULL;
|
||||||
|
|
||||||
|
// FIXME - Not sure why programs and variables are coming through here.
|
||||||
// Short cut for handling subprogram types (not really a TyDesc.)
|
// Short cut for handling subprogram types (not really a TyDesc.)
|
||||||
if (SubprogramDesc *SubprogramTy = dyn_cast<SubprogramDesc>(TyDesc)) {
|
if (SubprogramDesc *SubprogramTy = dyn_cast<SubprogramDesc>(TyDesc)) {
|
||||||
Slot = Ty = new DIE(DW_TAG_pointer_type);
|
Slot = Ty = new DIE(DW_TAG_pointer_type);
|
||||||
|
|
@ -1275,6 +1276,15 @@ DIE *DwarfWriter::NewType(DIE *Context, TypeDesc *TyDesc, CompileUnit *Unit) {
|
||||||
Context->AddChild(Ty);
|
Context->AddChild(Ty);
|
||||||
return Slot;
|
return Slot;
|
||||||
}
|
}
|
||||||
|
// Short cut for handling global variable types (not really a TyDesc.)
|
||||||
|
if (GlobalVariableDesc *GlobalVariableTy =
|
||||||
|
dyn_cast<GlobalVariableDesc>(TyDesc)) {
|
||||||
|
Slot = Ty = new DIE(DW_TAG_pointer_type);
|
||||||
|
Ty->AddUInt(DW_AT_byte_size, 0, TAI->getAddressSize());
|
||||||
|
Ty->AddString(DW_AT_name, DW_FORM_string, GlobalVariableTy->getName());
|
||||||
|
Context->AddChild(Ty);
|
||||||
|
return Slot;
|
||||||
|
}
|
||||||
|
|
||||||
// Get core information.
|
// Get core information.
|
||||||
const std::string &Name = TyDesc->getName();
|
const std::string &Name = TyDesc->getName();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue