diff options
author | mattias <mattias@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2021-04-05 10:19:14 +0000 |
---|---|---|
committer | mattias <mattias@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2021-04-05 10:19:14 +0000 |
commit | 963b56133e41179b728343b1b012dd85a9c3d3ec (patch) | |
tree | d5a8339ecc0a16652c3eac9220e0eb65a6bf89d6 /packages | |
parent | e170e957f40bbf151c8757141132eb60fd2b2d1f (diff) | |
download | fpc-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.pp | 9 |
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); |