* use extended as default real type in calculations only if fputype=x87

git-svn-id: trunk@15750 -
This commit is contained in:
florian 2010-08-08 16:17:43 +00:00
parent dd33fba74c
commit 66571ee4c8
2 changed files with 9 additions and 1 deletions

View File

@ -1115,6 +1115,7 @@ implementation
end; end;
end; end;
procedure tcg.a_load_cgparaloc_ref(list : TAsmList;const paraloc : TCGParaLocation;const ref : treference;sizeleft : aint;align : longint); procedure tcg.a_load_cgparaloc_ref(list : TAsmList;const paraloc : TCGParaLocation;const ref : treference;sizeleft : aint;align : longint);
var var
href : treference; href : treference;

View File

@ -889,7 +889,14 @@ implementation
{ is one a real float, then both need to be floats, this { is one a real float, then both need to be floats, this
need to be done before the constant folding so constant need to be done before the constant folding so constant
operation on a float and int are also handled } operation on a float and int are also handled }
resultrealdef:=pbestrealtype^; {$ifdef x86}
{ use extended as default real type only when the x87 fpu is used }
if not(current_settings.fputype=fpu_x87) then
resultrealdef:=s64floattype
else
{$endif x86}
resultrealdef:=pbestrealtype^;
if (right.resultdef.typ=floatdef) or (left.resultdef.typ=floatdef) then if (right.resultdef.typ=floatdef) or (left.resultdef.typ=floatdef) then
begin begin
{ when both floattypes are already equal then use that { when both floattypes are already equal then use that