* fixed type conversions between signed and unsigned ordinals of the same

size when stored in memory

git-svn-id: branches/jvmbackend@18666 -
This commit is contained in:
Jonas Maebe 2011-08-20 08:22:42 +00:00
parent b556c05b1a
commit 94be1980b4

View File

@ -346,16 +346,15 @@ implementation
end
else
begin
location_copy(location,left.location);
location.size:=def_cgsize(resultdef);
if (ressize < sizeof(aint)) and
(location.loc in [LOC_REGISTER,LOC_CREGISTER]) and
(def_cgsize(left.resultdef)<>def_cgsize(resultdef)) then
begin
location_reset(location,LOC_REGISTER,def_cgsize(resultdef));
location.register:=hlcg.getintregister(current_asmdata.CurrAsmList,resultdef);
location.loc:=LOC_REGISTER;
hlcg.a_load_reg_reg(current_asmdata.CurrAsmList,left.resultdef,resultdef,left.location.register,location.register);
end;
hlcg.a_load_loc_reg(current_asmdata.CurrAsmList,left.resultdef,resultdef,left.location,location.register);
end
else
location_copy(location,left.location);
end;
end;