- Removed mathuh.inc files which are identical for all targets (except m68k, see below), their contents moved into math.pp.

+ m68k/mathu.inc: added stub implementations for missing functions.

git-svn-id: trunk@27180 -
This commit is contained in:
sergei 2014-03-18 20:01:15 +00:00
parent 13da05a778
commit 0255eb880e
15 changed files with 41 additions and 278 deletions

10
.gitattributes vendored
View File

@ -7738,7 +7738,6 @@ rtl/arm/int64p.inc svneol=native#text/plain
rtl/arm/makefile.cpu svneol=native#text/plain
rtl/arm/math.inc svneol=native#text/plain
rtl/arm/mathu.inc svneol=native#text/plain
rtl/arm/mathuh.inc svneol=native#text/plain
rtl/arm/set.inc svneol=native#text/plain
rtl/arm/setjump.inc svneol=native#text/plain
rtl/arm/setjumph.inc svneol=native#text/plain
@ -8077,7 +8076,6 @@ rtl/i386/int64p.inc svneol=native#text/plain
rtl/i386/makefile.cpu svneol=native#text/plain
rtl/i386/math.inc svneol=native#text/plain
rtl/i386/mathu.inc svneol=native#text/plain
rtl/i386/mathuh.inc svneol=native#text/plain
rtl/i386/mmx.pp svneol=native#text/plain
rtl/i386/readme -text
rtl/i386/set.inc svneol=native#text/plain
@ -8092,7 +8090,6 @@ rtl/i8086/int64p.inc svneol=native#text/plain
rtl/i8086/makefile.cpu svneol=native#text/plain
rtl/i8086/math.inc svneol=native#text/plain
rtl/i8086/mathu.inc svneol=native#text/plain
rtl/i8086/mathuh.inc svneol=native#text/plain
rtl/i8086/set.inc svneol=native#text/plain
rtl/i8086/setjump.inc svneol=native#text/plain
rtl/i8086/setjumph.inc svneol=native#text/plain
@ -8391,7 +8388,6 @@ rtl/m68k/m68k.inc svneol=native#text/plain
rtl/m68k/makefile.cpu svneol=native#text/plain
rtl/m68k/math.inc svneol=native#text/plain
rtl/m68k/mathu.inc svneol=native#text/plain
rtl/m68k/mathuh.inc svneol=native#text/plain
rtl/m68k/readme -text
rtl/m68k/set.inc svneol=native#text/plain
rtl/m68k/setjump.inc svneol=native#text/plain
@ -8420,7 +8416,6 @@ rtl/mips/int64p.inc svneol=native#text/plain
rtl/mips/makefile.cpu svneol=native#text/plain
rtl/mips/math.inc svneol=native#text/plain
rtl/mips/mathu.inc svneol=native#text/plain
rtl/mips/mathuh.inc svneol=native#text/plain
rtl/mips/mips.inc svneol=native#text/plain
rtl/mips/set.inc svneol=native#text/plain
rtl/mips/setjump.inc svneol=native#text/plain
@ -8431,7 +8426,6 @@ rtl/mipsel/int64p.inc svneol=native#text/plain
rtl/mipsel/makefile.cpu svneol=native#text/plain
rtl/mipsel/math.inc svneol=native#text/plain
rtl/mipsel/mathu.inc svneol=native#text/plain
rtl/mipsel/mathuh.inc svneol=native#text/plain
rtl/mipsel/mips.inc svneol=native#text/plain
rtl/mipsel/set.inc svneol=native#text/plain
rtl/mipsel/setjump.inc svneol=native#text/plain
@ -8919,7 +8913,6 @@ rtl/powerpc/int64p.inc svneol=native#text/plain
rtl/powerpc/makefile.cpu svneol=native#text/plain
rtl/powerpc/math.inc svneol=native#text/plain
rtl/powerpc/mathu.inc svneol=native#text/plain
rtl/powerpc/mathuh.inc svneol=native#text/plain
rtl/powerpc/powerpc.inc svneol=native#text/plain
rtl/powerpc/set.inc svneol=native#text/plain
rtl/powerpc/setjump.inc svneol=native#text/plain
@ -8932,7 +8925,6 @@ rtl/powerpc64/int64p.inc svneol=native#text/plain
rtl/powerpc64/makefile.cpu svneol=native#text/plain
rtl/powerpc64/math.inc svneol=native#text/plain
rtl/powerpc64/mathu.inc svneol=native#text/plain
rtl/powerpc64/mathuh.inc svneol=native#text/plain
rtl/powerpc64/powerpc64.inc svneol=native#text/plain
rtl/powerpc64/set.inc svneol=native#text/plain
rtl/powerpc64/setjump.inc svneol=native#text/plain
@ -8989,7 +8981,6 @@ rtl/sparc/int64p.inc svneol=native#text/plain
rtl/sparc/makefile.cpu svneol=native#text/plain
rtl/sparc/math.inc svneol=native#text/plain
rtl/sparc/mathu.inc svneol=native#text/plain
rtl/sparc/mathuh.inc svneol=native#text/plain
rtl/sparc/set.inc svneol=native#text/plain
rtl/sparc/setjump.inc svneol=native#text/plain
rtl/sparc/setjumph.inc svneol=native#text/plain
@ -9222,7 +9213,6 @@ rtl/x86_64/int64p.inc svneol=native#text/plain
rtl/x86_64/makefile.cpu svneol=native#text/plain
rtl/x86_64/math.inc svneol=native#text/plain
rtl/x86_64/mathu.inc svneol=native#text/plain
rtl/x86_64/mathuh.inc svneol=native#text/plain
rtl/x86_64/set.inc svneol=native#text/plain
rtl/x86_64/setjump.inc svneol=native#text/plain
rtl/x86_64/setjumph.inc svneol=native#text/plain

View File

@ -1,27 +0,0 @@
{
This file is part of the Free Pascal run time library.
Copyright (c) 2004 by Florian Klaempfl
member of the Free Pascal development team
See the file COPYING.FPC, included in this distribution,
for details about the copyright.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
**********************************************************************}
type
TFPURoundingMode = (rmNearest, rmDown, rmUp, rmTruncate);
TFPUPrecisionMode = (pmSingle, pmReserved, pmDouble, pmExtended);
TFPUException = (exInvalidOp, exDenormalized, exZeroDivide,
exOverflow, exUnderflow, exPrecision);
TFPUExceptionMask = set of TFPUException;
function GetRoundMode: TFPURoundingMode;
function SetRoundMode(const RoundMode: TFPURoundingMode): TFPURoundingMode;
function GetPrecisionMode: TFPUPrecisionMode;
function SetPrecisionMode(const Precision: TFPUPrecisionMode): TFPUPrecisionMode;
function GetExceptionMask: TFPUExceptionMask;
function SetExceptionMask(const Mask: TFPUExceptionMask): TFPUExceptionMask;
procedure ClearExceptions(RaisePending: Boolean =true);

View File

@ -201,7 +201,6 @@ begin
T.Dependencies.Add('sysutils');
T:=AddUnit('objpas/math.pp');
T.Dependencies.Add('sysutils');
T.Dependencies.Add(CPUDir+'mathuh.inc');
T.Dependencies.Add(CPUDir+'mathu.inc');
T.ResourceStrings:=True;
T:=AddUnit('objpas/sysconst.pp');
@ -248,4 +247,4 @@ begin
// T:=AddUnit('inc/pagemem.pp');
end;
AddSystemDependencies(Installer.Targets);
end;
end;

View File

@ -547,7 +547,6 @@ begin
With T.Dependencies do
begin
AddUnit('sysutils');
AddInclude('mathuh.inc');
AddInclude('mathu.inc');
end;

View File

@ -1,29 +0,0 @@
{
This file is part of the Free Pascal run time library.
Copyright (c) 1999-2003 by Florian Klaempfl
member of the Free Pascal development team
See the file COPYING.FPC, included in this distribution,
for details about the copyright.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
**********************************************************************}
{ i386 fpu control word }
type
TFPURoundingMode = (rmNearest, rmDown, rmUp, rmTruncate);
TFPUPrecisionMode = (pmSingle, pmReserved, pmDouble, pmExtended);
TFPUException = (exInvalidOp, exDenormalized, exZeroDivide,
exOverflow, exUnderflow, exPrecision);
TFPUExceptionMask = set of TFPUException;
function GetRoundMode: TFPURoundingMode;
function SetRoundMode(const RoundMode: TFPURoundingMode): TFPURoundingMode;
function GetPrecisionMode: TFPUPrecisionMode;
function SetPrecisionMode(const Precision: TFPUPrecisionMode): TFPUPrecisionMode;
function GetExceptionMask: TFPUExceptionMask;
function SetExceptionMask(const Mask: TFPUExceptionMask): TFPUExceptionMask;
procedure ClearExceptions(RaisePending: Boolean =true);

View File

@ -1,29 +0,0 @@
{
This file is part of the Free Pascal run time library.
Copyright (c) 1999-2003 by Florian Klaempfl
member of the Free Pascal development team
See the file COPYING.FPC, included in this distribution,
for details about the copyright.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
**********************************************************************}
{ i386 fpu control word }
type
TFPURoundingMode = (rmNearest, rmDown, rmUp, rmTruncate);
TFPUPrecisionMode = (pmSingle, pmReserved, pmDouble, pmExtended);
TFPUException = (exInvalidOp, exDenormalized, exZeroDivide,
exOverflow, exUnderflow, exPrecision);
TFPUExceptionMask = set of TFPUException;
function GetRoundMode: TFPURoundingMode;
function SetRoundMode(const RoundMode: TFPURoundingMode): TFPURoundingMode;
function GetPrecisionMode: TFPUPrecisionMode;
function SetPrecisionMode(const Precision: TFPUPrecisionMode): TFPUPrecisionMode;
function GetExceptionMask: TFPUExceptionMask;
function SetExceptionMask(const Mask: TFPUExceptionMask): TFPUExceptionMask;
procedure ClearExceptions(RaisePending: Boolean =true);

View File

@ -24,3 +24,27 @@ begin
{ TODO }
end;
function GetRoundMode: TFPURoundingMode;
begin
Result:=rmNearest;
end;
function SetRoundMode(const RoundMode: TFPURoundingMode): TFPURoundingMode;
begin
Result:=rmNearest;
end;
function GetPrecisionMode: TFPUPrecisionMode;
begin
result:=pmDouble;
end;
function SetPrecisionMode(const Precision: TFPUPrecisionMode): TFPUPrecisionMode;
begin
result:=pmDouble;
end;
procedure ClearExceptions(RaisePending: Boolean);
begin
end;

View File

@ -1,24 +0,0 @@
{
This file is part of the Free Pascal run time library.
Copyright (c) 2012 by Sven Barth
member of the Free Pascal development team
See the file COPYING.FPC, included in this distribution,
for details about the copyright.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
**********************************************************************}
{$warning TODO}
type
TFPUException = (exInvalidOp, exDenormalized, exZeroDivide,
exOverflow, exUnderflow, exPrecision);
TFPUExceptionMask = set of TFPUException;
function GetExceptionMask: TFPUExceptionMask;
function SetExceptionMask(const Mask: TFPUExceptionMask): TFPUExceptionMask;

View File

@ -1,29 +0,0 @@
{
This file is part of the Free Pascal run time library.
Copyright (c) 1999-2000 by Florian Klaempfl
member of the Free Pascal development team
See the file COPYING.FPC, included in this distribution,
for details about the copyright.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
**********************************************************************}
type
TFPURoundingMode = (rmNearest, rmDown, rmUp, rmTruncate);
TFPUPrecisionMode = (pmSingle, pmReserved, pmDouble, pmExtended);
TFPUException = (exInvalidOp, exDenormalized, exZeroDivide,
exOverflow, exUnderflow, exPrecision);
TFPUExceptionMask = set of TFPUException;
function GetRoundMode: TFPURoundingMode;
function SetRoundMode(const RoundMode: TFPURoundingMode): TFPURoundingMode;
function GetPrecisionMode: TFPUPrecisionMode;
function SetPrecisionMode(const Precision: TFPUPrecisionMode): TFPUPrecisionMode;
function GetExceptionMask: TFPUExceptionMask;
function SetExceptionMask(const Mask: TFPUExceptionMask): TFPUExceptionMask;
procedure ClearExceptions(RaisePending: Boolean =true);

View File

@ -1 +0,0 @@
{$i ../mips/mathuh.inc}

View File

@ -532,8 +532,22 @@ function RandomFrom(const AValues: array of Double): Double; overload;
function RandomFrom(const AValues: array of Integer): Integer; overload;
function RandomFrom(const AValues: array of Int64): Int64; overload;
{ include cpu specific stuff }
{$i mathuh.inc}
{ cpu specific stuff }
type
TFPURoundingMode = (rmNearest, rmDown, rmUp, rmTruncate);
TFPUPrecisionMode = (pmSingle, pmReserved, pmDouble, pmExtended);
TFPUException = (exInvalidOp, exDenormalized, exZeroDivide,
exOverflow, exUnderflow, exPrecision);
TFPUExceptionMask = set of TFPUException;
function GetRoundMode: TFPURoundingMode;
function SetRoundMode(const RoundMode: TFPURoundingMode): TFPURoundingMode;
function GetPrecisionMode: TFPUPrecisionMode;
function SetPrecisionMode(const Precision: TFPUPrecisionMode): TFPUPrecisionMode;
function GetExceptionMask: TFPUExceptionMask;
function SetExceptionMask(const Mask: TFPUExceptionMask): TFPUExceptionMask;
procedure ClearExceptions(RaisePending: Boolean =true);
implementation

View File

@ -1,33 +0,0 @@
{
This file is part of the Free Pascal run time library.
Copyright (c) 1999-2005 by Florian Klaempfl
member of the Free Pascal development team
See the file COPYING.FPC, included in this distribution,
for details about the copyright.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
**********************************************************************}
type
TFPURoundingMode = (rmNearest, rmDown, rmUp, rmTruncate);
TFPUPrecisionMode = (pmSingle, pmReserved, pmDouble, pmExtended);
TFPUException = (
exInvalidOp, exDenormalized, exZeroDivide,
exOverflow, exUnderflow, exPrecision);
TFPUExceptionMask = set of TFPUException;
function GetRoundMode: TFPURoundingMode;
function SetRoundMode(const RoundMode: TFPURoundingMode): TFPURoundingMode;
function GetPrecisionMode: TFPUPrecisionMode;
function SetPrecisionMode(const Precision: TFPUPrecisionMode): TFPUPrecisionMode;
function GetExceptionMask: TFPUExceptionMask;
function SetExceptionMask(const Mask: TFPUExceptionMask): TFPUExceptionMask;
procedure ClearExceptions(RaisePending: Boolean = true);

View File

@ -1,33 +0,0 @@
{
This file is part of the Free Pascal run time library.
Copyright (c) 1999-2005 by Florian Klaempfl
member of the Free Pascal development team
See the file COPYING.FPC, included in this distribution,
for details about the copyright.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
**********************************************************************}
type
TFPURoundingMode = (rmNearest, rmDown, rmUp, rmTruncate);
TFPUPrecisionMode = (pmSingle, pmReserved, pmDouble, pmExtended);
TFPUException = (
exInvalidOp, exDenormalized, exZeroDivide,
exOverflow, exUnderflow, exPrecision);
TFPUExceptionMask = set of TFPUException;
function GetRoundMode: TFPURoundingMode;
function SetRoundMode(const RoundMode: TFPURoundingMode): TFPURoundingMode;
function GetPrecisionMode: TFPUPrecisionMode;
function SetPrecisionMode(const Precision: TFPUPrecisionMode): TFPUPrecisionMode;
function GetExceptionMask: TFPUExceptionMask;
function SetExceptionMask(const Mask: TFPUExceptionMask): TFPUExceptionMask;
procedure ClearExceptions(RaisePending: Boolean = true);

View File

@ -1,29 +0,0 @@
{
This file is part of the Free Pascal run time library.
Copyright (c) 1999-2000 by Florian Klaempfl
member of the Free Pascal development team
See the file COPYING.FPC, included in this distribution,
for details about the copyright.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
**********************************************************************}
type
TFPURoundingMode = (rmNearest, rmDown, rmUp, rmTruncate);
TFPUPrecisionMode = (pmSingle, pmReserved, pmDouble, pmExtended);
TFPUException = (exInvalidOp, exDenormalized, exZeroDivide,
exOverflow, exUnderflow, exPrecision);
TFPUExceptionMask = set of TFPUException;
function GetRoundMode: TFPURoundingMode;
function SetRoundMode(const RoundMode: TFPURoundingMode): TFPURoundingMode;
function GetPrecisionMode: TFPUPrecisionMode;
function SetPrecisionMode(const Precision: TFPUPrecisionMode): TFPUPrecisionMode;
function GetExceptionMask: TFPUExceptionMask;
function SetExceptionMask(const Mask: TFPUExceptionMask): TFPUExceptionMask;
procedure ClearExceptions(RaisePending: Boolean =true);

View File

@ -1,29 +0,0 @@
{
This file is part of the Free Pascal run time library.
Copyright (c) 1999-2004 by Florian Klaempfl
member of the Free Pascal development team
See the file COPYING.FPC, included in this distribution,
for details about the copyright.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
**********************************************************************}
{ x86-64 fpu control word }
type
TFPURoundingMode = (rmNearest, rmDown, rmUp, rmTruncate);
TFPUPrecisionMode = (pmSingle, pmReserved, pmDouble, pmExtended);
TFPUException = (exInvalidOp, exDenormalized, exZeroDivide,
exOverflow, exUnderflow, exPrecision);
TFPUExceptionMask = set of TFPUException;
function GetRoundMode: TFPURoundingMode;
function SetRoundMode(const RoundMode: TFPURoundingMode): TFPURoundingMode;
function GetPrecisionMode: TFPUPrecisionMode;
function SetPrecisionMode(const Precision: TFPUPrecisionMode): TFPUPrecisionMode;
function GetExceptionMask: TFPUExceptionMask;
function SetExceptionMask(const Mask: TFPUExceptionMask): TFPUExceptionMask;
procedure ClearExceptions(RaisePending: Boolean =true);