Browse Source

* fixed missing push esi for constructor calling

peter 25 years ago
parent
commit
588b4489cc
1 changed files with 6 additions and 4 deletions
  1. 6 4
      compiler/cg386cal.pas

+ 6 - 4
compiler/cg386cal.pas

@@ -714,6 +714,7 @@ implementation
                           end
                           end
                         else
                         else
                           begin
                           begin
+                             emit_reg(A_PUSH,S_L,R_ESI);
                              if is_con_or_destructor then
                              if is_con_or_destructor then
                                begin
                                begin
                                   if (p^.procdefinition^.proctypeoption=potype_constructor) then
                                   if (p^.procdefinition^.proctypeoption=potype_constructor) then
@@ -726,9 +727,7 @@ implementation
                                   { a direct call                                           }
                                   { a direct call                                           }
                                   else
                                   else
                                     push_int(0);
                                     push_int(0);
-                               end
-                             else
-                               emit_reg(A_PUSH,S_L,R_ESI);
+                               end;
                           end;
                           end;
                      end;
                      end;
                 end;
                 end;
@@ -1333,7 +1332,10 @@ implementation
 end.
 end.
 {
 {
   $Log$
   $Log$
-  Revision 1.120  2000-01-21 22:06:16  florian
+  Revision 1.121  2000-01-23 18:50:07  peter
+    * fixed missing push esi for constructor calling
+
+  Revision 1.120  2000/01/21 22:06:16  florian
     * fixed for the fix of bug 793
     * fixed for the fix of bug 793
     * fpu variables modified by nested subroutines aren't regable anymore
     * fpu variables modified by nested subroutines aren't regable anymore
     * $maxfpuregisters doesn't modify anymore the behavior of a procedure before
     * $maxfpuregisters doesn't modify anymore the behavior of a procedure before