Răsfoiți Sursa

* Fixed type of parameter passed to FPC_CHECKPOINTER after r23325, must be the pointer itself, not what it points to. Was causing IE 200306031 when compiling for i386 with -gc.

git-svn-id: trunk@28644 -
sergei 11 ani în urmă
părinte
comite
11201164e7
1 a modificat fișierele cu 2 adăugiri și 2 ștergeri
  1. 2 2
      compiler/ncgmem.pas

+ 2 - 2
compiler/ncgmem.pas

@@ -300,7 +300,7 @@ implementation
             pd:=tprocdef(tprocsym(sym).ProcdefList[0]);
             pd:=tprocdef(tprocsym(sym).ProcdefList[0]);
             paraloc1.init;
             paraloc1.init;
             paramanager.getintparaloc(pd,1,paraloc1);
             paramanager.getintparaloc(pd,1,paraloc1);
-            hlcg.a_load_reg_cgpara(current_asmdata.CurrAsmList,resultdef,location.reference.base,paraloc1);
+            hlcg.a_load_reg_cgpara(current_asmdata.CurrAsmList,left.resultdef,location.reference.base,paraloc1);
             paramanager.freecgpara(current_asmdata.CurrAsmList,paraloc1);
             paramanager.freecgpara(current_asmdata.CurrAsmList,paraloc1);
             paraloc1.done;
             paraloc1.done;
             hlcg.allocallcpuregisters(current_asmdata.CurrAsmList);
             hlcg.allocallcpuregisters(current_asmdata.CurrAsmList);
@@ -383,7 +383,7 @@ implementation
                       internalerror(2012010602);
                       internalerror(2012010602);
                     pd:=tprocdef(tprocsym(sym).ProcdefList[0]);
                     pd:=tprocdef(tprocsym(sym).ProcdefList[0]);
                     paramanager.getintparaloc(pd,1,paraloc1);
                     paramanager.getintparaloc(pd,1,paraloc1);
-                    hlcg.a_load_reg_cgpara(current_asmdata.CurrAsmList,resultdef,location.reference.base,paraloc1);
+                    hlcg.a_load_reg_cgpara(current_asmdata.CurrAsmList,left.resultdef,location.reference.base,paraloc1);
                     paramanager.freecgpara(current_asmdata.CurrAsmList,paraloc1);
                     paramanager.freecgpara(current_asmdata.CurrAsmList,paraloc1);
                     hlcg.allocallcpuregisters(current_asmdata.CurrAsmList);
                     hlcg.allocallcpuregisters(current_asmdata.CurrAsmList);
                     hlcg.a_call_name(current_asmdata.CurrAsmList,pd,'FPC_CHECKPOINTER',nil,false);
                     hlcg.a_call_name(current_asmdata.CurrAsmList,pd,'FPC_CHECKPOINTER',nil,false);