* only make the target of a type conversion not regable after checking

whether it's assignable if 1) the size/sign changes (was already the
    case) and 2) in case something actually can be assigned to it

git-svn-id: trunk@12039 -
This commit is contained in:
Jonas Maebe 2008-11-09 10:24:23 +00:00
parent 1e178d324f
commit c6c9ec83e0

View File

@ -2962,7 +2962,8 @@ implementation
that will load the value in a new register first }
{ the same goes for changing the sign of equal-sized values which
are smaller than an entire register }
if (resultdef.size<left.resultdef.size) or
if result and
(resultdef.size<left.resultdef.size) or
((resultdef.size=left.resultdef.size) and
(left.resultdef.size<sizeof(aint)) and
(is_signed(resultdef) xor is_signed(left.resultdef))) then