* another patch by Max Nazhalov to fix missing exits in the softfpu code

git-svn-id: trunk@24891 -
This commit is contained in:
florian 2013-06-13 19:40:17 +00:00
parent 7f6aa98553
commit caef53e63b

View File

@ -3468,6 +3468,7 @@ Function float32_round_to_int( a: float32rec): float32rec;compilerproc;
End; End;
end; end;
float32_round_to_int.float32 := packFloat32( aSign, 0, 0 ); float32_round_to_int.float32 := packFloat32( aSign, 0, 0 );
exit;
End; End;
lastBitMask := 1; lastBitMask := 1;
{_____________________________!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!} {_____________________________!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!}
@ -3774,6 +3775,7 @@ Function float32_mul(a: float32rec; b: float32rec ) : float32rec; compilerproc;
if ( (aSig<>0) OR ( ( bExp = $FF ) AND (bSig<>0) ) ) then if ( (aSig<>0) OR ( ( bExp = $FF ) AND (bSig<>0) ) ) then
Begin Begin
float32_mul.float32 := propagateFloat32NaN( a.float32, b.float32 ); float32_mul.float32 := propagateFloat32NaN( a.float32, b.float32 );
exit;
End; End;
if ( ( bExp OR bSig ) = 0 ) then if ( ( bExp OR bSig ) = 0 ) then
Begin Begin
@ -3863,6 +3865,7 @@ Function float32_div(a: float32rec;b: float32rec ): float32rec; compilerproc;
if ( bSig <> 0) then if ( bSig <> 0) then
Begin Begin
float32_div.float32 := propagateFloat32NaN( a.float32, b.float32 ); float32_div.float32 := propagateFloat32NaN( a.float32, b.float32 );
exit;
End; End;
float_raise( float_flag_invalid ); float_raise( float_flag_invalid );
float32_div.float32 := float32_default_nan; float32_div.float32 := float32_default_nan;
@ -4849,6 +4852,7 @@ Begin
exit; exit;
End; End;
packFloat64( zSign, $7FF, 0, 0, out ); packFloat64( zSign, $7FF, 0, 0, out );
exit;
End; End;
if ( aExp = 0 ) then if ( aExp = 0 ) then
Begin Begin