@@ -745,8 +745,10 @@ var
td: PTypeData;
i, c, argcount, stackcount, idx, argidx: SizeInt;
stackargs: array of SizeInt;
+ orgresinparam: Boolean;
begin
fResultInParam := ReturnResultInParam(fResultType);
+ orgresinparam := fResultInParam;
genofs := 0;
stackofs := 0;
@@ -776,7 +778,7 @@ begin
else
c := stackcount - 1;
for i := 0 to c do begin
- if argidx = fResultIdx then
+ if (argidx = fResultIdx) and orgresinparam then
Inc(argidx);
if pfResult in fArgs[i].ParamFlags then begin
fResultIdx := argidx;