$ echo "procedure main is x : float := 1.1e11111111111111111111; begin null; end main;" > main.adb $ gcc -c main.adb +===========================GNAT BUG DETECTED==============================+ | 12.2.1 20220819 (Red Hat 12.2.1-2) (x86_64-redhat-linux) Constraint_Error uintp.adb:2287 explicit raise| | Error detected at main.adb:1:32 | | Compiling main.adb | | Please submit a bug report; see https://gcc.gnu.org/bugs/ . | $ gcc --version gcc (GCC) 12.2.1 20220819 (Red Hat 12.2.1-2) with up to ten digits in the exponent, I get the expected $ echo "procedure main is x : float := 1.1e11111_11111; begin null; end main;" > main.adb $ gcc -c main.adb main.adb:1:32: error: value not in range of type "Standard.Float" main.adb:1:32: error: static expression fails Constraint_Check
That's really a large number.