[fpc-devel] question on dwarf2 info written by fpc 2.6.2
Martin
lazarus at mfriebe.de
Sat Oct 5 21:08:37 CEST 2013
Just curliousity, nothing of the below is in any way a problem. Only I
would like to understand.
program project1;
var a: integer;
begin
a:=1;
end.
generates for "a"
DW_TAG_variable
which points to (via DW_AT_type) DW_TAG_typedef
which points to (via DW_AT_type) DW_TAG_base_type
Looking at the rtl source, you will see
type Integer: longint;
"integer" is a declared type, of the build in (base type) longint.
DW_TAG_base_type has DW_AT_name = longint. That is expected
DW_TAG_typedef has DW_AT_name = longint. That I do *NOT* understand.
DW_TAG_typedef stands for the definition of "Integer", or does it not?
If it does, then should not the name be "integer"?
On the other hand
var a: longint;
generates the same. Why?
More information about the fpc-devel
mailing list