summaryrefslogtreecommitdiff
path: root/packages
diff options
context:
space:
mode:
authormattias <mattias@3ad0048d-3df7-0310-abae-a5850022a9f2>2021-04-05 10:19:14 +0000
committermattias <mattias@3ad0048d-3df7-0310-abae-a5850022a9f2>2021-04-05 10:19:14 +0000
commit963b56133e41179b728343b1b012dd85a9c3d3ec (patch)
treed5a8339ecc0a16652c3eac9220e0eb65a6bf89d6 /packages
parente170e957f40bbf151c8757141132eb60fd2b2d1f (diff)
downloadfpc-963b56133e41179b728343b1b012dd85a9c3d3ec.tar.gz
fcl-passrc: fixed resolve multi add
git-svn-id: https://svn.freepascal.org/svn/fpc/trunk@49120 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'packages')
-rw-r--r--packages/fcl-passrc/src/pasresolver.pp9
1 files changed, 5 insertions, 4 deletions
diff --git a/packages/fcl-passrc/src/pasresolver.pp b/packages/fcl-passrc/src/pasresolver.pp
index 4ac1076ec3..e2c9c45da9 100644
--- a/packages/fcl-passrc/src/pasresolver.pp
+++ b/packages/fcl-passrc/src/pasresolver.pp
@@ -12994,6 +12994,7 @@ begin
exit;
end;
+ Flags:=Flags-[rcNoImplicitProc,rcNoImplicitProcType];
if Bin.OpCode=eopAdd then
begin
// handle multi-adds without stack
@@ -13005,10 +13006,10 @@ begin
Left:=SubBin.left;
end;
// Left is now left-most of multi add
- ComputeElement(Left,LeftResolved,Flags-[rcNoImplicitProc],StartEl);
+ ComputeElement(Left,LeftResolved,Flags,StartEl);
repeat
SubBin:=TBinaryExpr(Left.Parent);
- ComputeElement(Bin.right,RightResolved,Flags-[rcNoImplicitProc],StartEl);
+ ComputeElement(SubBin.right,RightResolved,Flags,StartEl);
// ToDo: check operator overloading
ComputeBinaryExprRes(SubBin,ResolvedEl,Flags,LeftResolved,RightResolved);
@@ -13018,8 +13019,8 @@ begin
end
else
begin
- ComputeElement(Bin.left,LeftResolved,Flags-[rcNoImplicitProc],StartEl);
- ComputeElement(Bin.right,RightResolved,Flags-[rcNoImplicitProc],StartEl);
+ ComputeElement(Bin.left,LeftResolved,Flags,StartEl);
+ ComputeElement(Bin.right,RightResolved,Flags,StartEl);
// ToDo: check operator overloading
ComputeBinaryExprRes(Bin,ResolvedEl,Flags,LeftResolved,RightResolved);