Browse Source

fcl-passrc: fixed resolve multi add

git-svn-id: trunk@49120 -
Mattias Gaertner 4 năm trước cách đây
mục cha
commit
c28ab0a8b8
1 tập tin đã thay đổi với 5 bổ sung4 xóa
  1. 5 4
      packages/fcl-passrc/src/pasresolver.pp

+ 5 - 4
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);