Sfoglia il codice sorgente

+ initialize the initialloc for push_addr_param parameters correctly in i8086
far data memory models

git-svn-id: trunk@27455 -

nickysn 11 anni fa
parent
commit
36aae69e2b
1 ha cambiato i file con 2 aggiunte e 2 eliminazioni
  1. 2 2
      compiler/ncgutil.pas

+ 2 - 2
compiler/ncgutil.pas

@@ -1579,7 +1579,7 @@ implementation
 
                       isaddr:=paramanager.push_addr_param(vs.varspez,vs.vardef,pd.proccalloption);
                       if isaddr then
-                        vs.initialloc.size:=OS_ADDR
+                        vs.initialloc.size:=def_cgsize(voidpointertype)
                       else
                         vs.initialloc.size:=def_cgsize(vs.vardef);
 
@@ -1597,7 +1597,7 @@ implementation
                           else
                             begin
                               if isaddr then
-                                tg.GetLocal(list,sizeof(pint),voidpointertype,vs.initialloc.reference)
+                                tg.GetLocal(list,voidpointertype.size,voidpointertype,vs.initialloc.reference)
                               else
                                 tg.GetLocal(list,vs.getsize,tparavarsym(sym).paraloc[calleeside].alignment,vs.vardef,vs.initialloc.reference);
                             end;