Browse Source

* fixed the passing of array of const parameters in i8086 far data memory models

git-svn-id: trunk@27700 -
nickysn 11 years ago
parent
commit
24bf272c69
1 changed files with 3 additions and 3 deletions
  1. 3 3
      compiler/ncgld.pas

+ 3 - 3
compiler/ncgld.pas

@@ -1285,9 +1285,9 @@ implementation
                  if vaddr then
                  if vaddr then
                   begin
                   begin
                     hlcg.location_force_mem(current_asmdata.CurrAsmList,hp.left.location,hp.left.resultdef);
                     hlcg.location_force_mem(current_asmdata.CurrAsmList,hp.left.location,hp.left.resultdef);
-                    tmpreg:=cg.getaddressregister(current_asmdata.CurrAsmList);
-                    cg.a_loadaddr_ref_reg(current_asmdata.CurrAsmList,hp.left.location.reference,tmpreg);
-                    cg.a_load_reg_ref(current_asmdata.CurrAsmList,OS_ADDR,OS_ADDR,tmpreg,href);
+                    tmpreg:=hlcg.getaddressregister(current_asmdata.CurrAsmList,voidpointertype);
+                    hlcg.a_loadaddr_ref_reg(current_asmdata.CurrAsmList,hp.left.resultdef,voidpointertype,hp.left.location.reference,tmpreg);
+                    hlcg.a_load_reg_ref(current_asmdata.CurrAsmList,voidpointertype,voidpointertype,tmpreg,href);
                   end
                   end
                  else
                  else
                   { todo: proper type information for hlcg }
                   { todo: proper type information for hlcg }