* fixed class field info alignment

This commit is contained in:
florian 2004-12-27 15:54:54 +00:00
parent cb75ebda02
commit 5fb0678de2
2 changed files with 18 additions and 3 deletions

View File

@ -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

View File

@ -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