2
0
Jonas Maebe 22 жил өмнө
parent
commit
c8978e3440
1 өөрчлөгдсөн 20 нэмэгдсэн , 1 устгасан
  1. 20 1
      compiler/ncgflw.pas

+ 20 - 1
compiler/ncgflw.pas

@@ -807,9 +807,21 @@ implementation
 
          if assigned(left) then
            begin
+{$ifdef callparatemp}
+              { process object (may contain a call) }
+              secondpass(left);
+              if codegenerror then
+                exit;
+{$endif callparatemp}
               { multiple parameters? }
               if assigned(right) then
                 begin
+{$ifdef callparatemp}
+                  { process address (in case it contains a call) }
+                  secondpass(right);
+                  if codegenerror then
+                   exit;
+{$endif callparatemp}
                   { push frame }
                   if assigned(frametree) then
                     begin
@@ -820,10 +832,12 @@ implementation
                     end
                   else
                     cg.a_param_const(exprasmlist,OS_INT,0,paramanager.getintparaloc(exprasmlist,3));
+{$ifndef callparatemp}
                   { push address }
                   secondpass(right);
                   if codegenerror then
                    exit;
+{$endif not callparatemp}
                   cg.a_param_loc(exprasmlist,right.location,paramanager.getintparaloc(exprasmlist,2));
                 end
               else
@@ -839,10 +853,12 @@ implementation
                    { push current address }
                    cg.a_paramaddr_ref(exprasmlist,href2,paramanager.getintparaloc(exprasmlist,2));
                 end;
+{$ifndef callparatemp}
               { push object }
               secondpass(left);
               if codegenerror then
                 exit;
+{$endif not callparatemp}
               cg.a_param_loc(exprasmlist,left.location,paramanager.getintparaloc(exprasmlist,1));
               cg.a_call_name(exprasmlist,'FPC_RAISEEXCEPTION');
               paramanager.freeintparaloc(exprasmlist,3);
@@ -1427,7 +1443,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.70  2003-06-09 12:23:30  peter
+  Revision 1.71  2003-06-09 14:38:52  jonas
+    * fixed for callparatemp
+
+  Revision 1.70  2003/06/09 12:23:30  peter
     * init/final of procedure data splitted from genentrycode
     * use asmnode getposition to insert final at the correct position
       als for the implicit try...finally