|
@@ -1516,7 +1516,33 @@ implementation
|
|
|
DW_AT_byte_size,DW_FORM_data1,def.size
|
|
|
]);
|
|
|
if assigned(def.basedef) then
|
|
|
- append_labelentry_ref(DW_AT_type,def_dwarf_lab(def.basedef));
|
|
|
+ append_labelentry_ref(DW_AT_type,def_dwarf_lab(def.basedef))
|
|
|
+ else if dwarf_version>=3 then
|
|
|
+ case def.size of
|
|
|
+ 1:
|
|
|
+ if def.min<0 then
|
|
|
+ append_labelentry_ref(DW_AT_type,def_dwarf_lab(s8inttype))
|
|
|
+ else
|
|
|
+ append_labelentry_ref(DW_AT_type,def_dwarf_lab(u8inttype));
|
|
|
+ 2:
|
|
|
+ if def.min<0 then
|
|
|
+ append_labelentry_ref(DW_AT_type,def_dwarf_lab(s16inttype))
|
|
|
+ else
|
|
|
+ append_labelentry_ref(DW_AT_type,def_dwarf_lab(u16inttype));
|
|
|
+ 4:
|
|
|
+ if def.min<0 then
|
|
|
+ append_labelentry_ref(DW_AT_type,def_dwarf_lab(s32inttype))
|
|
|
+ else
|
|
|
+ append_labelentry_ref(DW_AT_type,def_dwarf_lab(u32inttype));
|
|
|
+ 8:
|
|
|
+ if def.min<0 then
|
|
|
+ append_labelentry_ref(DW_AT_type,def_dwarf_lab(s64inttype))
|
|
|
+ else
|
|
|
+ append_labelentry_ref(DW_AT_type,def_dwarf_lab(u64inttype));
|
|
|
+ else
|
|
|
+ Internalerror(2025041701);
|
|
|
+ end;
|
|
|
+
|
|
|
finish_entry;
|
|
|
|
|
|
case def.size of
|