Explorar o código

* use sizeuinttype, instead of ptruinttype for the indexdef conversion in
tcgvecnode.pass_generate_code. This avoids a meaningless conversion to 32-bit
(and using the cwd instruction) on i8086 in the far data memory models.

git-svn-id: trunk@39472 -

nickysn %!s(int64=7) %!d(string=hai) anos
pai
achega
42432d4ef3
Modificáronse 1 ficheiros con 2 adicións e 2 borrados
  1. 2 2
      compiler/ncgmem.pas

+ 2 - 2
compiler/ncgmem.pas

@@ -1074,8 +1074,8 @@ implementation
               if not(right.location.loc in [LOC_CREGISTER,LOC_REGISTER]) or
                  not valid_index_size(right.location.size) then
                 begin
-                  hlcg.location_force_reg(current_asmdata.CurrAsmList,right.location,right.resultdef,ptruinttype,true);
-                  indexdef:=ptruinttype
+                  hlcg.location_force_reg(current_asmdata.CurrAsmList,right.location,right.resultdef,sizeuinttype,true);
+                  indexdef:=sizeuinttype
                 end
               else
                 indexdef:=right.resultdef;