From 2307a1aeb8ecaf0bac055a13d65eef884cbf22b3 Mon Sep 17 00:00:00 2001 From: Eric Botcazou Date: Thu, 24 Sep 2020 19:54:16 +0200 Subject: [PATCH] [Ada] Document characteristics of decimal fixed point types gcc/ada/ * doc/gnat_rm/implementation_defined_characteristics.rst: Complete entry of 3.5.9(10). * gnat_rm.texi: Regenerate. --- .../doc/gnat_rm/implementation_defined_characteristics.rst | 4 +++- gcc/ada/gnat_rm.texi | 7 +++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/gcc/ada/doc/gnat_rm/implementation_defined_characteristics.rst b/gcc/ada/doc/gnat_rm/implementation_defined_characteristics.rst index 31748257259..14516e7d523 100644 --- a/gcc/ada/doc/gnat_rm/implementation_defined_characteristics.rst +++ b/gcc/ada/doc/gnat_rm/implementation_defined_characteristics.rst @@ -153,7 +153,7 @@ The small is the largest power of two that does not exceed the delta. "What combinations of small, range, and digits are supported for fixed point types. See 3.5.9(10)." -For an ordinary fixed point type, the small must lie in 2**(-80) .. 2**80 +For an ordinary fixed point type, the small must lie in 2.0**(-80) .. 2.0**80 and the range in -10.0**36 .. 10.0**36; any combination is permitted that does not result in a mantissa larger than 63 bits. However, if the mantissa is larger than 53 bits on machines where Long_Long_Float is 64 bits (true @@ -161,6 +161,8 @@ of all architectures except x86), then the output from Text_IO may be accurate to only 53 bits, rather than the full mantissa. This is because floating-point conversions may be used to convert fixed point. +For a decimal fixed point type, the small must lie in 10.0**(-18) .. 10.0**18 +and the digits in 1 .. 18. * "The result of ``Tags.Expanded_Name`` for types declared diff --git a/gcc/ada/gnat_rm.texi b/gcc/ada/gnat_rm.texi index c28518fbc19..24afe79993d 100644 --- a/gcc/ada/gnat_rm.texi +++ b/gcc/ada/gnat_rm.texi @@ -21,7 +21,7 @@ @copying @quotation -GNAT Reference Manual , Sep 29, 2020 +GNAT Reference Manual , Nov 19, 2020 AdaCore @@ -15690,7 +15690,7 @@ The small is the largest power of two that does not exceed the delta. supported for fixed point types. See 3.5.9(10)." @end itemize -For an ordinary fixed point type, the small must lie in 2**(-80) .. 2**80 +For an ordinary fixed point type, the small must lie in 2.0**(-80) .. 2.0**80 and the range in -10.0**36 .. 10.0**36; any combination is permitted that does not result in a mantissa larger than 63 bits. However, if the mantissa is larger than 53 bits on machines where Long_Long_Float is 64 bits (true @@ -15698,6 +15698,9 @@ of all architectures except x86), then the output from Text_IO may be accurate to only 53 bits, rather than the full mantissa. This is because floating-point conversions may be used to convert fixed point. +For a decimal fixed point type, the small must lie in 10.0**(-18) .. 10.0**18 +and the digits in 1 .. 18. + @itemize * -- 2.30.2