From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.5-pre1 (2020-06-20) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-1.9 required=3.0 tests=BAYES_00,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.5-pre1 X-Received: by 2002:a05:620a:4143:: with SMTP id k3mr22675087qko.497.1619532244187; Tue, 27 Apr 2021 07:04:04 -0700 (PDT) X-Received: by 2002:a25:1883:: with SMTP id 125mr32094095yby.465.1619532243935; Tue, 27 Apr 2021 07:04:03 -0700 (PDT) Path: eternal-september.org!reader02.eternal-september.org!news.dns-netz.com!news.freedyn.net!newsfeed.xs4all.nl!newsfeed8.news.xs4all.nl!tr2.eu1.usenetexpress.com!feeder.usenetexpress.com!tr2.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Tue, 27 Apr 2021 07:04:03 -0700 (PDT) Injection-Info: google-groups.googlegroups.com; posting-host=139.228.33.191; posting-account=oy9pPgoAAACICsEVtbydIrxpi9tsYOGl NNTP-Posting-Host: 139.228.33.191 User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: Subject: Constraint error overflow From: Richard Iswara Injection-Date: Tue, 27 Apr 2021 14:04:04 +0000 Content-Type: text/plain; charset="UTF-8" Xref: reader02.eternal-september.org comp.lang.ada:61915 List-Id: Ada beginner here. I was trying to multiply the first 100 integer and GNAT throw me a constraint error, overflow. I check the error was on integer 13. So what did I do wrong here? Gnat CE 2020, Windows 10 Pro 64bit. Here is the relevant program: with Ada.Text_IO; with Ada.Integer_Text_IO; procedure Simple is sum : Natural := 0; mul : Natural := 1; begin Ada.Text_IO.Put ( "Sum of first 100 integer is :" ); Summing: for I in 1 .. 100 loop sum := sum + I; end loop Summing; Ada.Integer_Text_IO.Put ( sum ); Ada.Text_IO.New_Line; Ada.Text_IO.Put ( "Multiple of the first 100 integer is :" ); Ada.Text_IO.New_Line; Multiplying: for J in 1 .. 100 loop Ada.Integer_Text_IO.Put (J); Ada.Text_IO.New_Line; mul := mul * J; end loop Multiplying; Ada.Integer_Text_IO.Put ( mul ); Ada.Text_IO.New_Line; end Simple;