mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-15 20:49:23 +02:00
* tests: On x86_64-android long double is 128-bit. There is no support for 128-bit floats in FPC yet. So disable long double tests for x86_64-android for now.
git-svn-id: trunk@39970 -
This commit is contained in:
parent
4643a0b1ff
commit
aa6f6423b2
@ -29,6 +29,11 @@ uses strings,ctypes;
|
|||||||
{$define test_longdouble}
|
{$define test_longdouble}
|
||||||
{$endif}
|
{$endif}
|
||||||
|
|
||||||
|
{$if defined(cpux86_64) and defined(android) and (sizeof(clongdouble)<>16)}
|
||||||
|
// On x86_64-android long double is 128-bit. There is no support for 128-bit floats in FPC yet.
|
||||||
|
{$undef test_longdouble}
|
||||||
|
{$endif}
|
||||||
|
|
||||||
{ Use C alignment of records }
|
{ Use C alignment of records }
|
||||||
{$PACKRECORDS C}
|
{$PACKRECORDS C}
|
||||||
const
|
const
|
||||||
|
@ -10,6 +10,17 @@
|
|||||||
program calext6;
|
program calext6;
|
||||||
{$MODE DELPHI}
|
{$MODE DELPHI}
|
||||||
|
|
||||||
|
uses ctypes;
|
||||||
|
|
||||||
|
{$ifdef FPC_HAS_TYPE_EXTENDED}
|
||||||
|
{$define test_longdouble}
|
||||||
|
{$endif}
|
||||||
|
|
||||||
|
{$if defined(cpux86_64) and defined(android) and (sizeof(clongdouble)<>16)}
|
||||||
|
// On x86_64-android long double is 128-bit. There is no support for 128-bit floats in FPC yet.
|
||||||
|
{$undef test_longdouble}
|
||||||
|
{$endif}
|
||||||
|
|
||||||
{ requires libgcc for the C functions }
|
{ requires libgcc for the C functions }
|
||||||
{$ifdef FPUSOFT}
|
{$ifdef FPUSOFT}
|
||||||
{$define NO_FLOAT}
|
{$define NO_FLOAT}
|
||||||
@ -20,14 +31,6 @@ program calext6;
|
|||||||
{$linklib gcc}
|
{$linklib gcc}
|
||||||
{$endif}
|
{$endif}
|
||||||
|
|
||||||
{$ifdef VER2_4}
|
|
||||||
uses
|
|
||||||
ctypes;
|
|
||||||
|
|
||||||
type
|
|
||||||
cextended = clongdouble;
|
|
||||||
{$endif VER2_4}
|
|
||||||
|
|
||||||
type
|
type
|
||||||
int8_t = shortint;
|
int8_t = shortint;
|
||||||
pint8_t = ^int8_t;
|
pint8_t = ^int8_t;
|
||||||
@ -227,7 +230,7 @@ begin
|
|||||||
WriteLn('Failed');
|
WriteLn('Failed');
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{$if defined(FPC_HAS_TYPE_EXTENDED) and (sizeof(double)<>sizeof(cextended))}
|
{$if defined(test_longdouble) and (sizeof(double)<>sizeof(cextended))}
|
||||||
procedure verify(val1, val2 : cextended; nr : Integer); overload;
|
procedure verify(val1, val2 : cextended; nr : Integer); overload;
|
||||||
begin
|
begin
|
||||||
success := success and (val1 = val2);
|
success := success and (val1 = val2);
|
||||||
@ -237,7 +240,7 @@ begin
|
|||||||
else
|
else
|
||||||
WriteLn('Failed');
|
WriteLn('Failed');
|
||||||
end;
|
end;
|
||||||
{$endif FPC_HAS_TYPE_EXTENDED}
|
{$endif test_longdouble}
|
||||||
|
|
||||||
function check1(s : struct1) : single;
|
function check1(s : struct1) : single;
|
||||||
begin
|
begin
|
||||||
@ -351,7 +354,7 @@ function pass14(s : struct14; b: byte) : int64_t; cdecl; external;
|
|||||||
function pass15(s : struct15; b: byte) : int64_t; cdecl; external;
|
function pass15(s : struct15; b: byte) : int64_t; cdecl; external;
|
||||||
function pass16(s : struct16; b: byte) : single; cdecl; external;
|
function pass16(s : struct16; b: byte) : single; cdecl; external;
|
||||||
function pass17(s : struct17; b: byte) : single; cdecl; external;
|
function pass17(s : struct17; b: byte) : single; cdecl; external;
|
||||||
{$ifdef FPC_HAS_TYPE_EXTENDED}
|
{$ifdef test_longdouble}
|
||||||
function pass31(s : struct31; b: byte; var ss: single) : cextended; cdecl; external;
|
function pass31(s : struct31; b: byte; var ss: single) : cextended; cdecl; external;
|
||||||
{$endif}
|
{$endif}
|
||||||
|
|
||||||
@ -372,7 +375,7 @@ function pass14a(b: byte; s : struct14) : struct14; cdecl; external;
|
|||||||
function pass15a(b: byte; s : struct15) : struct15; cdecl; external;
|
function pass15a(b: byte; s : struct15) : struct15; cdecl; external;
|
||||||
function pass16a(b: byte; s : struct16) : struct16; cdecl; external;
|
function pass16a(b: byte; s : struct16) : struct16; cdecl; external;
|
||||||
function pass17a(b: byte; s : struct17) : struct17; cdecl; external;
|
function pass17a(b: byte; s : struct17) : struct17; cdecl; external;
|
||||||
{$ifdef FPC_HAS_TYPE_EXTENDED}
|
{$ifdef test_longdouble}
|
||||||
function pass31a(b: byte; s : struct31) : struct31; cdecl; external;
|
function pass31a(b: byte; s : struct31) : struct31; cdecl; external;
|
||||||
{$endif}
|
{$endif}
|
||||||
|
|
||||||
@ -536,7 +539,7 @@ begin
|
|||||||
{$ifdef UseStackCheck}
|
{$ifdef UseStackCheck}
|
||||||
CheckStack;
|
CheckStack;
|
||||||
{$endif UseStackCheck}
|
{$endif UseStackCheck}
|
||||||
{$ifdef FPC_HAS_TYPE_EXTENDED}
|
{$ifdef test_longdouble}
|
||||||
verify(pass31(s31,31,ss), check31(s31), 31);
|
verify(pass31(s31,31,ss), check31(s31), 31);
|
||||||
{$ifdef UseStackCheck}
|
{$ifdef UseStackCheck}
|
||||||
CheckStack;
|
CheckStack;
|
||||||
@ -615,7 +618,7 @@ begin
|
|||||||
{$ifdef UseStackCheck}
|
{$ifdef UseStackCheck}
|
||||||
CheckStack;
|
CheckStack;
|
||||||
{$endif UseStackCheck}
|
{$endif UseStackCheck}
|
||||||
{$ifdef FPC_HAS_TYPE_EXTENDED}
|
{$ifdef test_longdouble}
|
||||||
verify(check31(pass31a(31,s31)), check31(s31), 71);
|
verify(check31(pass31a(31,s31)), check31(s31), 71);
|
||||||
{$ifdef UseStackCheck}
|
{$ifdef UseStackCheck}
|
||||||
CheckStack;
|
CheckStack;
|
||||||
@ -702,7 +705,7 @@ begin
|
|||||||
{$ifdef UseStackCheck}
|
{$ifdef UseStackCheck}
|
||||||
CheckStack;
|
CheckStack;
|
||||||
{$endif UseStackCheck}
|
{$endif UseStackCheck}
|
||||||
{$ifdef FPC_HAS_TYPE_EXTENDED}
|
{$ifdef test_longdouble}
|
||||||
verify(pass31a(31,s31).v1, s31.v1, 101);
|
verify(pass31a(31,s31).v1, s31.v1, 101);
|
||||||
{$ifdef UseStackCheck}
|
{$ifdef UseStackCheck}
|
||||||
CheckStack;
|
CheckStack;
|
||||||
@ -932,7 +935,7 @@ begin
|
|||||||
{$ifdef UseStackCheck}
|
{$ifdef UseStackCheck}
|
||||||
CheckStack;
|
CheckStack;
|
||||||
{$endif UseStackCheck}
|
{$endif UseStackCheck}
|
||||||
{$ifdef FPC_HAS_TYPE_EXTENDED}
|
{$ifdef test_longdouble}
|
||||||
{$ifdef TestFPUStack }
|
{$ifdef TestFPUStack }
|
||||||
for i:=1 to 12 do
|
for i:=1 to 12 do
|
||||||
{$endif TestFPUStack }
|
{$endif TestFPUStack }
|
||||||
|
@ -15,6 +15,11 @@ uses
|
|||||||
{$undef TEST_EXTENDED}
|
{$undef TEST_EXTENDED}
|
||||||
{$endif beos}
|
{$endif beos}
|
||||||
|
|
||||||
|
{$if defined(cpux86_64) and defined(android) and (sizeof(clongdouble)<>16)}
|
||||||
|
// On x86_64-android long double is 128-bit. There is no support for 128-bit floats in FPC yet.
|
||||||
|
{$undef TEST_EXTENDED}
|
||||||
|
{$endif}
|
||||||
|
|
||||||
{$ifdef WINDOWS}
|
{$ifdef WINDOWS}
|
||||||
const
|
const
|
||||||
{$ifdef wince}
|
{$ifdef wince}
|
||||||
|
@ -15,6 +15,11 @@ uses
|
|||||||
{$undef TEST_EXTENDED}
|
{$undef TEST_EXTENDED}
|
||||||
{$endif beos}
|
{$endif beos}
|
||||||
|
|
||||||
|
{$if defined(cpux86_64) and defined(android) and (sizeof(clongdouble)<>16)}
|
||||||
|
// On x86_64-android long double is 128-bit. There is no support for 128-bit floats in FPC yet.
|
||||||
|
{$undef TEST_EXTENDED}
|
||||||
|
{$endif}
|
||||||
|
|
||||||
{$ifdef WINDOWS}
|
{$ifdef WINDOWS}
|
||||||
const
|
const
|
||||||
{$ifdef wince}
|
{$ifdef wince}
|
||||||
|
@ -16,6 +16,11 @@ uses
|
|||||||
{$undef TEST_EXTENDED}
|
{$undef TEST_EXTENDED}
|
||||||
{$endif beos}
|
{$endif beos}
|
||||||
|
|
||||||
|
{$if defined(cpux86_64) and defined(android) and (sizeof(clongdouble)<>16)}
|
||||||
|
// On x86_64-android long double is 128-bit. There is no support for 128-bit floats in FPC yet.
|
||||||
|
{$undef TEST_EXTENDED}
|
||||||
|
{$endif}
|
||||||
|
|
||||||
{$ifdef WINDOWS}
|
{$ifdef WINDOWS}
|
||||||
{ the msvcrt.dll doesn't support extended because MS-C doesn't }
|
{ the msvcrt.dll doesn't support extended because MS-C doesn't }
|
||||||
{$undef TEST_EXTENDED}
|
{$undef TEST_EXTENDED}
|
||||||
|
Loading…
Reference in New Issue
Block a user