mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-13 12:39:09 +02:00
* fixed "set of enumeration" for gdb 6.7/6.8
git-svn-id: trunk@10603 -
This commit is contained in:
parent
39fa81d40e
commit
07b3e11e2b
@ -2749,6 +2749,8 @@ implementation
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TDebugInfoDwarf2.appenddef_set(list:TAsmList;def: tsetdef);
|
procedure TDebugInfoDwarf2.appenddef_set(list:TAsmList;def: tsetdef);
|
||||||
|
var
|
||||||
|
lab: tasmlabel;
|
||||||
begin
|
begin
|
||||||
if (ds_dwarf_sets in current_settings.debugswitches) then
|
if (ds_dwarf_sets in current_settings.debugswitches) then
|
||||||
begin
|
begin
|
||||||
@ -2764,7 +2766,21 @@ implementation
|
|||||||
DW_AT_byte_size,DW_FORM_data2,def.size
|
DW_AT_byte_size,DW_FORM_data2,def.size
|
||||||
]);
|
]);
|
||||||
if assigned(def.elementdef) then
|
if assigned(def.elementdef) then
|
||||||
append_labelentry_ref(DW_AT_type,def_dwarf_lab(def.elementdef));
|
begin
|
||||||
|
if (def.elementdef.typ=enumdef) then
|
||||||
|
begin
|
||||||
|
{ gdb 6.7 - 6.8 is broken for regular enum sets }
|
||||||
|
current_asmdata.getaddrlabel(lab);
|
||||||
|
append_labelentry_ref(DW_AT_type,lab);
|
||||||
|
finish_entry;
|
||||||
|
current_asmdata.asmlists[al_dwarf_info].concat(tai_symbol.create(lab,0));
|
||||||
|
append_entry(DW_TAG_subrange_type,false,[
|
||||||
|
DW_AT_lower_bound,DW_FORM_sdata,tenumdef(def.elementdef).minval,
|
||||||
|
DW_AT_upper_bound,DW_FORM_sdata,tenumdef(def.elementdef).maxval
|
||||||
|
]);
|
||||||
|
end;
|
||||||
|
append_labelentry_ref(DW_AT_type,def_dwarf_lab(def.elementdef))
|
||||||
|
end
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
|
Loading…
Reference in New Issue
Block a user