this compilation does not seem to finish: $ echo "procedure main is x : integer := 1.1e11111_11; begin null; end main;" > main.adb $ gcc -c main.adb $ gcc --version gcc (GCC) 12.2.1 20220819 (Red Hat 12.2.1-2) while the program should just be rejected - as does indeed happen for $ echo "procedure main is x : integer := 1.1e11111_1; begin null; end main;" > main.adb $ gcc -c main.adb main.adb:1:34: error: expected type "Standard.Integer" main.adb:1:34: error: found type universal real
A guard against ludicrous inputs is indeed missing here.