mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-15 16:19:28 +02:00
* fixed class field info alignment
This commit is contained in:
parent
cb75ebda02
commit
5fb0678de2
@ -56,7 +56,7 @@ interface
|
||||
|
||||
{ since we have only 16 offsets, we need to be able to specify the high
|
||||
and low 16 bits of the address of a symbol }
|
||||
trefaddr = (addr_no,addr_full,addr_hi,addr_lo);
|
||||
trefaddr = (addr_no,addr_full,addr_hi,addr_lo,addr_pic);
|
||||
|
||||
{# Generic opcodes, which must be supported by all processors
|
||||
}
|
||||
@ -597,7 +597,10 @@ finalization
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.99 2004-12-12 10:50:34 florian
|
||||
Revision 1.100 2004-12-27 15:54:54 florian
|
||||
* fixed class field info alignment
|
||||
|
||||
Revision 1.99 2004/12/12 10:50:34 florian
|
||||
* fixed operand size calculation for sse operands
|
||||
+ all nasm assembler targets to help page output added
|
||||
|
||||
|
@ -5572,6 +5572,9 @@ implementation
|
||||
if needs_prop_entry(tsym(sym)) and
|
||||
(tsym(sym).typ=fieldvarsym) then
|
||||
begin
|
||||
{$ifdef cpurequiresproperalignment}
|
||||
rttilist.concat(Tai_align.Create(sizeof(TConstPtrUInt)));
|
||||
{$endif cpurequiresproperalignment}
|
||||
rttiList.concat(Tai_const.Create_32bit(tfieldvarsym(sym).fieldoffset));
|
||||
hp:=searchclasstablelist(tobjectdef(tfieldvarsym(sym).vartype.def));
|
||||
if not(assigned(hp)) then
|
||||
@ -5601,6 +5604,9 @@ implementation
|
||||
symtable.foreach({$ifdef FPC}@{$endif}count_published_fields,nil);
|
||||
rttiList.concat(Tai_label.Create(fieldtable));
|
||||
rttiList.concat(Tai_const.Create_16bit(count));
|
||||
{$ifdef cpurequiresproperalignment}
|
||||
rttilist.concat(Tai_align.Create(sizeof(TConstPtrUInt)));
|
||||
{$endif cpurequiresproperalignment}
|
||||
rttiList.concat(Tai_const.Create_sym(classtable));
|
||||
symtable.foreach({$ifdef FPC}@{$endif}writefields,nil);
|
||||
|
||||
@ -5608,6 +5614,9 @@ implementation
|
||||
rttilist.concat(tai_align.create(const_align(sizeof(aint))));
|
||||
rttiList.concat(Tai_label.Create(classtable));
|
||||
rttiList.concat(Tai_const.Create_16bit(tablecount));
|
||||
{$ifdef cpurequiresproperalignment}
|
||||
rttilist.concat(Tai_align.Create(sizeof(TConstPtrUInt)));
|
||||
{$endif cpurequiresproperalignment}
|
||||
hp:=tclasslistitem(classtablelist.first);
|
||||
while assigned(hp) do
|
||||
begin
|
||||
@ -6155,7 +6164,10 @@ implementation
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.284 2004-12-07 15:41:11 peter
|
||||
Revision 1.285 2004-12-27 15:54:54 florian
|
||||
* fixed class field info alignment
|
||||
|
||||
Revision 1.284 2004/12/07 15:41:11 peter
|
||||
* modified algorithm for shortening manglednames to fix compilation
|
||||
of procedures with a lot of longtypenames that are equal, see
|
||||
tw343
|
||||
|
Loading…
Reference in New Issue
Block a user