浏览代码

* call method pointers located in registers correctly

git-svn-id: trunk@22343 -
florian 13 年之前
父节点
当前提交
4514a55ec6
共有 1 个文件被更改,包括 2 次插入0 次删除
  1. 2 0
      compiler/ncgcal.pas

+ 2 - 0
compiler/ncgcal.pas

@@ -889,6 +889,8 @@ implementation
                 watch out with procedure of object) }
               if right.location.loc in [LOC_REFERENCE,LOC_CREFERENCE] then
                 cg.a_load_ref_reg(current_asmdata.CurrAsmList,OS_ADDR,OS_ADDR,right.location.reference,pvreg)
+              else if right.location.loc in [LOC_REGISTER,LOC_CREGISTER] then
+                hlcg.a_load_reg_reg(current_asmdata.CurrAsmList,voidpointertype,voidpointertype,right.location.register,pvreg)
               else
                 hlcg.a_load_loc_reg(current_asmdata.CurrAsmList,voidpointertype,voidpointertype,right.location,pvreg);
               location_freetemp(current_asmdata.CurrAsmList,right.location);