2
0
Эх сурвалжийг харах

* converted tcgvecnode.rangecheck_string to the high level code generator

git-svn-id: trunk@33961 -
Jonas Maebe 9 жил өмнө
parent
commit
cef5cac4fa

+ 5 - 7
compiler/ncgmem.pas

@@ -852,20 +852,18 @@ implementation
               paramanager.getintparaloc(current_asmdata.CurrAsmList,pd,2,paraloc2);
               paramanager.getintparaloc(current_asmdata.CurrAsmList,pd,2,paraloc2);
               if pd.is_pushleftright then
               if pd.is_pushleftright then
                 begin
                 begin
-                  cg.a_load_loc_cgpara(current_asmdata.CurrAsmList,left.location,paraloc1);
-                  cg.a_load_loc_cgpara(current_asmdata.CurrAsmList,right.location,paraloc2);
+                  hlcg.a_load_loc_cgpara(current_asmdata.CurrAsmList,left.resultdef,left.location,paraloc1);
+                  hlcg.a_load_loc_cgpara(current_asmdata.CurrAsmList,right.resultdef,right.location,paraloc2);
                 end
                 end
               else
               else
                 begin
                 begin
-                  cg.a_load_loc_cgpara(current_asmdata.CurrAsmList,right.location,paraloc2);
-                  cg.a_load_loc_cgpara(current_asmdata.CurrAsmList,left.location,paraloc1);
+                  hlcg.a_load_loc_cgpara(current_asmdata.CurrAsmList,right.resultdef,right.location,paraloc2);
+                  hlcg.a_load_loc_cgpara(current_asmdata.CurrAsmList,left.resultdef,left.location,paraloc1);
                 end;
                 end;
 
 
               paramanager.freecgpara(current_asmdata.CurrAsmList,paraloc1);
               paramanager.freecgpara(current_asmdata.CurrAsmList,paraloc1);
               paramanager.freecgpara(current_asmdata.CurrAsmList,paraloc2);
               paramanager.freecgpara(current_asmdata.CurrAsmList,paraloc2);
-              cg.allocallcpuregisters(current_asmdata.CurrAsmList);
-              cg.a_call_name(current_asmdata.CurrAsmList,helpername,false);
-              cg.deallocallcpuregisters(current_asmdata.CurrAsmList);
+              hlcg.g_call_system_proc(current_asmdata.CurrAsmList,pd,[@paraloc1,@paraloc2],nil).resetiftemp;
             end;
             end;
 
 
           st_shortstring:
           st_shortstring: