mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-15 18:29:09 +02:00
* started to fix setdef writing for dwarf
* some missing finish_entry inserted git-svn-id: trunk@2369 -
This commit is contained in:
parent
2b059f925f
commit
b4946c6dc9
@ -791,6 +791,7 @@ implementation
|
|||||||
begin
|
begin
|
||||||
append_entry(DW_TAG_pointer_type,false,[]);
|
append_entry(DW_TAG_pointer_type,false,[]);
|
||||||
append_labelentry_ref(DW_AT_type,def_dwarf_lab(tpointerdef(def).pointertype.def));
|
append_labelentry_ref(DW_AT_type,def_dwarf_lab(tpointerdef(def).pointertype.def));
|
||||||
|
finish_entry;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
floatdef :
|
floatdef :
|
||||||
@ -808,16 +809,16 @@ implementation
|
|||||||
setdef :
|
setdef :
|
||||||
begin
|
begin
|
||||||
if assigned(def.typesym) then
|
if assigned(def.typesym) then
|
||||||
append_entry(DW_TAG_enumeration_type,true,[
|
append_entry(DW_TAG_set_type,false,[
|
||||||
DW_AT_name,DW_FORM_string,def.typesym.name+#0,
|
DW_AT_name,DW_FORM_string,def.typesym.name+#0,
|
||||||
DW_AT_byte_size,DW_FORM_data1,def.size
|
DW_AT_byte_size,DW_FORM_data1,def.size
|
||||||
])
|
])
|
||||||
else
|
else
|
||||||
append_entry(DW_TAG_enumeration_type,true,[
|
append_entry(DW_TAG_set_type,false,[
|
||||||
DW_AT_byte_size,DW_FORM_data1,def.size
|
DW_AT_byte_size,DW_FORM_data1,def.size
|
||||||
]);
|
]);
|
||||||
append_labelentry_ref(DW_AT_type,def_dwarf_lab(tsetdef(def).elementtype.def));
|
append_labelentry_ref(DW_AT_type,def_dwarf_lab(tsetdef(def).elementtype.def));
|
||||||
finish_entry
|
finish_entry;
|
||||||
end;
|
end;
|
||||||
{
|
{
|
||||||
formaldef :
|
formaldef :
|
||||||
@ -1270,22 +1271,6 @@ implementation
|
|||||||
}
|
}
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function typesym_stabstr(sym:ttypesym) : pchar;
|
|
||||||
var
|
|
||||||
stabchar : string[2];
|
|
||||||
begin
|
|
||||||
{
|
|
||||||
result:=nil;
|
|
||||||
if not assigned(sym.restype.def) then
|
|
||||||
internalerror(200509262);
|
|
||||||
if sym.restype.def.deftype in tagtypes then
|
|
||||||
stabchar:='Tt'
|
|
||||||
else
|
|
||||||
stabchar:='t';
|
|
||||||
result:=sym_stabstr_evaluate(sym,'"${name}:$1$2",${N_LSYM},0,${line},0',[stabchar,def_stab_number(sym.restype.def)]);
|
|
||||||
}
|
|
||||||
end;
|
|
||||||
|
|
||||||
|
|
||||||
procedure append_procsym(sym:tprocsym);
|
procedure append_procsym(sym:tprocsym);
|
||||||
var
|
var
|
||||||
@ -1327,6 +1312,7 @@ implementation
|
|||||||
DW_AT_name,DW_FORM_string,sym.name+#0
|
DW_AT_name,DW_FORM_string,sym.name+#0
|
||||||
]);
|
]);
|
||||||
append_labelentry_ref(DW_AT_type,def_dwarf_lab(ttypesym(sym).restype.def));
|
append_labelentry_ref(DW_AT_type,def_dwarf_lab(ttypesym(sym).restype.def));
|
||||||
|
finish_entry;
|
||||||
end;
|
end;
|
||||||
enumsym :
|
enumsym :
|
||||||
{ ignore enum syms, they are written by the owner }
|
{ ignore enum syms, they are written by the owner }
|
||||||
|
Loading…
Reference in New Issue
Block a user