From 8f9c4505355fcef734bdb98a1b3682e4e38a1106 Mon Sep 17 00:00:00 2001 From: florian Date: Tue, 31 Jan 2006 22:32:54 +0000 Subject: [PATCH] + typed constants for dwarf git-svn-id: trunk@2387 - --- compiler/dbgdwarf.pas | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/compiler/dbgdwarf.pas b/compiler/dbgdwarf.pas index 6ca3c48af5..d56be8c267 100644 --- a/compiler/dbgdwarf.pas +++ b/compiler/dbgdwarf.pas @@ -1439,10 +1439,26 @@ implementation { paravarsym : stabstr:=paravarsym_stabstr(tparavarsym(sym)); - typedconstsym : - stabstr:=sym_stabstr_evaluate(sym,'"${name}:S$1",${N_STSYM},0,${line},${mangledname}', - [def_stab_number(ttypedconstsym(sym).typedconsttype.def)]); } + typedconstsym : + begin + append_entry(DW_TAG_variable,false,[ + DW_AT_name,DW_FORM_string,sym.name+#0, + { + DW_AT_decl_file,DW_FORM_data1,0, + DW_AT_decl_line,DW_FORM_data1, + } + DW_AT_external,DW_FORM_flag,true, + { data continues below } + DW_AT_location,DW_FORM_block1,1+sizeof(aword) + ]); + { append block data } + asmlist[al_dwarf_info].concat(tai_const.create_8bit(3)); + asmlist[al_dwarf_info].concat(tai_const.createname(sym.mangledname,AT_DATA,0)); + append_labelentry_ref(DW_AT_type,def_dwarf_lab(ttypedconstsym(sym).typedconsttype.def)); + + finish_entry; + end; constsym : append_constsym(tconstsym(sym)); typesym :