diff options
-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); |