[Bug ada/107391] New: decimal_literal with long exponent: Constraint_Error uintp.adb:2287

johannes.waldmann@htwk-leipzig.de gcc-bugzilla@gcc.gnu.org
Tue Oct 25 11:38:21 GMT 2022


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107391

            Bug ID: 107391
           Summary: decimal_literal with long exponent: Constraint_Error
                    uintp.adb:2287
           Product: gcc
           Version: 12.2.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: ada
          Assignee: unassigned at gcc dot gnu.org
          Reporter: johannes.waldmann@htwk-leipzig.de
  Target Milestone: ---

$ 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


More information about the Gcc-bugs mailing list