Bug 107391 - decimal_literal with long exponent: Constraint_Error uintp.adb:2287
Summary: decimal_literal with long exponent: Constraint_Error uintp.adb:2287
Status: NEW
Alias: None
Product: gcc
Classification: Unclassified
Component: ada (show other bugs)
Version: 12.2.1
: P3 normal
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-10-25 11:38 UTC by jwaldmann
Modified: 2022-10-29 11:46 UTC (History)
1 user (show)

See Also:
Host:
Target:
Build:
Known to work:
Known to fail:
Last reconfirmed: 2022-10-29 00:00:00


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description jwaldmann 2022-10-25 11:38:21 UTC
$ 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
Comment 1 Eric Botcazou 2022-10-29 11:46:05 UTC
That's really a large number.