[COMMITTED,02/14] ada: Add more commentary to System.Val_Real.Large_Powfive

Message ID 20250113105349.928779-2-poulhies@adacore.com
State Committed
Commit d2e3635aa1820346050b85009df82a60cdd8206f
Headers
Series [COMMITTED,01/14] ada: Fix parsing of raise expressions with no parens |

Commit Message

Marc Poulhiès Jan. 13, 2025, 10:53 a.m. UTC
  From: Eric Botcazou <ebotcazou@adacore.com>

gcc/ada/ChangeLog:

	* libgnat/s-valrea.adb (Large_Powfive) [2 parameters]: Add a couple
	of additional comments.

Tested on x86_64-pc-linux-gnu, committed on master.

---
 gcc/ada/libgnat/s-valrea.adb | 5 +++++
 1 file changed, 5 insertions(+)
  

Patch

diff --git a/gcc/ada/libgnat/s-valrea.adb b/gcc/ada/libgnat/s-valrea.adb
index ed22366840f..aff694dd721 100644
--- a/gcc/ada/libgnat/s-valrea.adb
+++ b/gcc/ada/libgnat/s-valrea.adb
@@ -396,6 +396,9 @@  package body System.Val_Real is
    begin
       pragma Assert (Exp > Maxexp);
 
+      --  This routine supports any type but it is not necessary to invoke it
+      --  for large types because the above one is sufficient for them.
+
       pragma Warnings (Off, "-gnatw.a");
       pragma Assert (not Is_Large_Type);
       pragma Warnings (On, "-gnatw.a");
@@ -407,6 +410,8 @@  package body System.Val_Real is
       --  its final value does not overflow but, if it's too large, then do not
       --  bother doing it since overflow is just fine. The scaling factor is -3
       --  for every power of 5 above the maximum, in other words division by 8.
+      --  Note that Maxpow is an upper bound of the span of exponents for which
+      --  scaling is needed, but it's OK to apply it even if it is not needed.
 
       if Exp - Maxexp <= Maxpow then
          S := 3 * (Exp - Maxexp);