瀏覽代碼

* set the para sizes correctly for push_addr_params in i8086 far data memory
models. This breaks compilation of the system unit in the compact and large
memory models once again, but the generated code wasn't correct in the first
place, so it's not really a loss.

git-svn-id: trunk@27275 -

nickysn 11 年之前
父節點
當前提交
ee7a6dfc2e
共有 1 個文件被更改,包括 2 次插入2 次删除
  1. 2 2
      compiler/i8086/cpupara.pas

+ 2 - 2
compiler/i8086/cpupara.pas

@@ -446,8 +446,8 @@ unit cpupara;
             pushaddr:=push_addr_param(hp.varspez,paradef,p.proccalloption);
             pushaddr:=push_addr_param(hp.varspez,paradef,p.proccalloption);
             if pushaddr then
             if pushaddr then
               begin
               begin
-                paralen:=sizeof(aint);
-                paracgsize:=OS_ADDR;
+                paralen:=voidpointertype.size;
+                paracgsize:=int_cgsize(voidpointertype.size);
                 paradef:=getpointerdef(paradef);
                 paradef:=getpointerdef(paradef);
               end
               end
             else
             else