@@ -550,9 +550,14 @@ unit cpupara;
for i:=0 to paras.count-1 do
begin
hp:=tparavarsym(paras[i]);
- with hp.paraloc[side].location^ do
- if (loc=LOC_REFERENCE) then
- inc(reference.offset,target_info.first_parm_offset);
+ paraloc:=hp.paraloc[side].location;
+ while paraloc<>nil do
+ begin
+ with paraloc^ do
+ if (loc=LOC_REFERENCE) then
+ inc(reference.offset,target_info.first_parm_offset);
+ paraloc:=paraloc^.next;
+ end;
end;
@@ -431,7 +431,7 @@ var
TV: TTimeVal;
Get_Sys_Time (@TV);
- GetMsCount := TV.TV_Secs * 1000 + TV.TV_Micro div 1000;
+ GetMsCount := int64 (TV.TV_Secs) * 1000 + TV.TV_Micro div 1000;
{******************************************************************************
@@ -151,7 +151,7 @@ end;
function GetMsCount: int64;
- GetMsCount := MemL [$40:$6c] * 55;
+ GetMsCount := int64 (MemL [$40:$6c]) * 55;
@@ -89,8 +89,8 @@ begin
CurrentResource:=pFPCResourceInfo(pointer(FPCResourceSectionLocation^.reshash.ptr+i*sizeof(TFPCResourceInfo)));
FPCRuntimeResourceInfoArray[i].reshash:=CurrentResource^.reshash;
FPCRuntimeResourceInfoArray[i].restype:=CurrentResource^.restype;
- FPCRuntimeResourceInfoArray[i].ptr:=pointer(CurrentResource^.ptr)+PtrInt(FPCResourceSectionLocation^.resdata.ptr);
- FPCRuntimeResourceInfoArray[i].name:=pchar(CurrentResource^.name)+PtrInt(FPCResourceSectionLocation^.ressym.ptr);
+ FPCRuntimeResourceInfoArray[i].ptr:=pointer(CurrentResource^.ptr)+ptruint(FPCResourceSectionLocation^.resdata.ptr);
+ FPCRuntimeResourceInfoArray[i].name:=pchar(CurrentResource^.name)+ptruint(FPCResourceSectionLocation^.ressym.ptr);
FPCRuntimeResourceInfoArray[i].size:=CurrentResource^.size;
@@ -105,7 +105,7 @@ end;
- GetMsCount := Nwserv.GetCurrentTicks * 55;
+ GetMsCount := int64 (Nwserv.GetCurrentTicks) * 55;
@@ -143,7 +143,7 @@ var
tz : TimeZone;
FPGetTimeOfDay (tv, tz);
- GetMsCount := tv.tv_Sec * 1000 + tv.tv_uSec div 1000;
+ GetMsCount := int64 (tv.tv_Sec) * 1000 + tv.tv_uSec div 1000;
@@ -958,7 +958,7 @@ Var
DecodeTime(AValue,H,M,S,MS);
- Result:=((M+(H+((DayOfTheYear(AValue)-1)*24))*60)*60+S)*1000+MS;
+ Result:=((M+(H+((int64(DayOfTheYear(AValue))-1)*24))*60)*60+S)*1000+MS;
@@ -296,7 +296,7 @@ var
{ tz : TimeZone;}
FPGetTimeOfDay (@tv, nil {,tz});
+ GetMsCount := int64(tv.tv_Sec) * 1000 + tv.tv_uSec div 1000;