From f6356e03e42187bd7c6ac789e84623437ba1b77c Mon Sep 17 00:00:00 2001 From: nickysn Date: Tue, 4 Oct 2016 22:57:06 +0000 Subject: [PATCH] * 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 - --- compiler/ngenutil.pas | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/compiler/ngenutil.pas b/compiler/ngenutil.pas index dfc3214468..3345f8b442 100644 --- a/compiler/ngenutil.pas +++ b/compiler/ngenutil.pas @@ -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 }