https://gcc.gnu.org/bugzilla/show_bug.cgi?id=124163
Eric Botcazou <ebotcazou at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |ebotcazou at gcc dot gnu.org
Status|UNCONFIRMED |RESOLVED
Resolution|--- |INVALID
--- Comment #1 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
Ada.Numerics.Pi is a named number so every static operation is performed with
infinite precision on it, include 'Succ and 'Adjacent.
Float'Succ returns the Float machine number immediately above it, which is
0x40490fdb in hexadecimal format. This machine number is also what is returned
when it is converted to Float, for example Float'Machine (Pi), because it's the
nearest machine number.
So Float'Succ (Pi) = Float'Machine (Pi) = Float_Pi in your example.