mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-18 04:09:11 +02:00
* use aluuinttype, instead of sinttype, when emitting TableCount and InitCount
for the InitFinalTable, because they are declared as ALUUInt in the RTL and sinttype doesn't always correspond to the ALU size (it differs on platforms with the combination of a 64-bit ALU and 32-bit address space) git-svn-id: trunk@34629 -
This commit is contained in:
parent
acfe6d2f2c
commit
f6356e03e4
@ -962,9 +962,9 @@ implementation
|
||||
targetinfos[target_info.system]^.alignment.recordalignmin,
|
||||
targetinfos[target_info.system]^.alignment.maxCrecordalign);
|
||||
{ placeholder for tablecount }
|
||||
tablecountplaceholder:=unitinits.emit_placeholder(sinttype);
|
||||
tablecountplaceholder:=unitinits.emit_placeholder(aluuinttype);
|
||||
{ initcount (initialised at run time }
|
||||
unitinits.emit_ord_const(0,sinttype);
|
||||
unitinits.emit_ord_const(0,aluuinttype);
|
||||
count:=0;
|
||||
hp:=tused_unit(usedunits.first);
|
||||
while assigned(hp) do
|
||||
@ -1023,7 +1023,7 @@ implementation
|
||||
inc(count);
|
||||
end;
|
||||
{ fill in tablecount }
|
||||
tablecountplaceholder.replace(tai_const.Create_aint(count),sinttype);
|
||||
tablecountplaceholder.replace(tai_const.Create_aint(count),aluuinttype);
|
||||
tablecountplaceholder.free;
|
||||
{ Add to data segment }
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user