Prechádzať zdrojové kódy

* When adding the start offset of the parameters, process chained
paralocs too.

git-svn-id: trunk@7834 -

daniel 18 rokov pred
rodič
commit
56880a75f9
1 zmenil súbory, kde vykonal 8 pridanie a 3 odobranie
  1. 8 3
      compiler/x86_64/cpupara.pas

+ 8 - 3
compiler/x86_64/cpupara.pas

@@ -550,9 +550,14 @@ unit cpupara;
             for i:=0 to paras.count-1 do
               begin
                 hp:=tparavarsym(paras[i]);
-                with hp.paraloc[side].location^ do
-                  if (loc=LOC_REFERENCE) then
-                    inc(reference.offset,target_info.first_parm_offset);
+                paraloc:=hp.paraloc[side].location;
+                while paraloc<>nil do
+                  begin
+                    with paraloc^ do
+                     if (loc=LOC_REFERENCE) then
+                       inc(reference.offset,target_info.first_parm_offset);
+                    paraloc:=paraloc^.next;
+                  end;
               end;
           end;
       end;