Procházet zdrojové kódy

* a_loadfpu_ref_cgpara uses g_concatcopy instead of a_load_ref_ref

git-svn-id: trunk@36950 -
florian před 8 roky
rodič
revize
9b3e0a80df
1 změnil soubory, kde provedl 6 přidání a 1 odebrání
  1. 6 1
      compiler/sparcgen/cgsparc.pas

+ 6 - 1
compiler/sparcgen/cgsparc.pas

@@ -339,7 +339,10 @@ implementation
               LOC_REFERENCE :
                 begin
                   reference_reset_base(href2,hloc^.reference.index,hloc^.reference.offset,paraloc.alignment,[]);
-                  a_load_ref_ref(list,hloc^.size,hloc^.size,href,href2);
+                  reference_reset_base(href2,hloc^.reference.index,hloc^.reference.offset,paraloc.alignment,[]);
+                  { concatcopy should choose the best way to copy the data }
+                  g_concatcopy(list,href,href2,tcgsize2size[hloc^.size]);
+
                 end;
               LOC_FPUREGISTER,LOC_CFPUREGISTER :
                 a_loadfpu_ref_reg(list,hloc^.size,hloc^.size,href,hloc^.register);
@@ -1047,6 +1050,7 @@ implementation
       var
         hr : treference;
       begin
+{$ifdef SPARC}
         if paramanager.ret_in_param(current_procinfo.procdef.returndef,current_procinfo.procdef) then
           begin
             reference_reset(hr,sizeof(pint),[]);
@@ -1068,6 +1072,7 @@ implementation
               end;
           end
         else
+{$endif SPARC}
           begin
             if nostackframe then
               begin