Browse Source

* passing interfaces as parameters fixed

florian 25 years ago
parent
commit
881fe6d416
1 changed files with 9 additions and 6 deletions
  1. 9 6
      compiler/i386/cgai386.pas

+ 9 - 6
compiler/i386/cgai386.pas

@@ -977,15 +977,15 @@ implementation
 
 
       var
       var
          pushedregs : tpushed;
          pushedregs : tpushed;
+         r : treference;
 
 
       begin
       begin
          pushusedregisters(pushedregs,$ff);
          pushusedregisters(pushedregs,$ff);
-         emitpushreferenceaddr(ref);
+         emit_ref(A_PUSH,S_L,newreference(ref));
          if is_interfacecom(t) then
          if is_interfacecom(t) then
-           begin
-              emitcall('FPC_INTF_INCR_REF');
-           end
-         else internalerror(1859);
+           emitcall('FPC_INTF_INCR_REF')
+         else
+           internalerror(1859);
          popusedregisters(pushedregs);
          popusedregisters(pushedregs);
       end;
       end;
 
 
@@ -2936,7 +2936,10 @@ implementation
 end.
 end.
 {
 {
   $Log$
   $Log$
-  Revision 1.10  2000-11-07 23:40:48  florian
+  Revision 1.11  2000-11-17 10:30:24  florian
+    * passing interfaces as parameters fixed
+
+  Revision 1.10  2000/11/07 23:40:48  florian
     + AfterConstruction and BeforeDestruction impemented
     + AfterConstruction and BeforeDestruction impemented
 
 
   Revision 1.9  2000/11/06 23:49:20  florian
   Revision 1.9  2000/11/06 23:49:20  florian