diff --git a/.gitattributes b/.gitattributes index e69da05ad8..d72e006ee5 100644 --- a/.gitattributes +++ b/.gitattributes @@ -13556,6 +13556,7 @@ tests/webtbs/tw2317.pp svneol=native#text/plain tests/webtbs/tw2318.pp svneol=native#text/plain tests/webtbs/tw23185.pp svneol=native#text/pascal tests/webtbs/tw2318b.pp svneol=native#text/plain +tests/webtbs/tw23196.pp svneol=native#text/plain tests/webtbs/tw23204.pp svneol=native#text/plain tests/webtbs/tw23212.pp svneol=native#text/plain tests/webtbs/tw2323.pp svneol=native#text/plain @@ -13627,6 +13628,7 @@ tests/webtbs/tw25059.pp svneol=native#text/pascal tests/webtbs/tw25077.pp svneol=native#text/pascal tests/webtbs/tw25081.pp svneol=native#text/pascal tests/webtbs/tw25101.pp svneol=native#text/pascal +tests/webtbs/tw25122.pp svneol=native#text/plain tests/webtbs/tw25132.pp svneol=native#text/pascal tests/webtbs/tw2514.pp svneol=native#text/plain tests/webtbs/tw25198.pp svneol=native#text/plain diff --git a/tests/webtbs/tw23196.pp b/tests/webtbs/tw23196.pp new file mode 100644 index 0000000000..656ed1997f --- /dev/null +++ b/tests/webtbs/tw23196.pp @@ -0,0 +1,18 @@ +uses + sysutils; + +var b: extended; + s: string; +begin +{$ifdef FPC_SUPPORTS_EXTENDED} + b := 999999999999999999; + writeln(b:25:25); + str(b:25:25,s); + if s<>'999999999999999999.0000000000000000000000000' then + halt(1); + writeln(FloatToStrF(b, ffFixed, 25, 0)); + if FloatToStrF(b, ffFixed, 25, 0)<>'999999999999999999' then + halt(2); +{$endif} +end. + diff --git a/tests/webtbs/tw25122.pp b/tests/webtbs/tw25122.pp new file mode 100644 index 0000000000..963f2a0e45 --- /dev/null +++ b/tests/webtbs/tw25122.pp @@ -0,0 +1,26 @@ + +var + e: record + case byte of + 1: (e: extended); + 2: (a: array[0..9] of byte); + end; + i: longint; + + { assume little endian } +const + a1: array[0..9] of byte = ($f8,$da,$4f,$8d,$97,$6e,$12,$83,$f5,$43); + a2: array[0..9] of byte = ($05,$dd,$4f,$8d,$97,$6e,$12,$83,$f5,$43); +begin +{$ifdef FPC_HAS_TYPE_EXTENDED} + writeln('testing'); + e.e := 1.7976931348623157e+305; + for i:=low(a1) to high(a1) do + if e.a[i]<>a1[i] then + halt(1); + e.e := 1.7976931348623158e+305; + for i:=low(a1) to high(a1) do + if e.a[i]<>a2[i] then + halt(2); +{$endif} +end.