From: naasking@gmail.com (Sandro Magi)
Subject: Re: GNAT won't link on "warning"
Date: 29 Nov 2004 07:42:09 -0800
Date: 2004-11-29T07:42:09-08:00 [thread overview]
Message-ID: <7e2ad2d.0411290742.2c70c1d1@posting.google.com> (raw)
In-Reply-To: 3664370.5jO7nDmgDP@linux1.krischik.com
Martin Krischik <martin@krischik.com> wrote in message news:<3664370.5jO7nDmgDP@linux1.krischik.com>...
> Hello,
>
> For demonstation purpose I wanted to write a program which will raise an
> exception on converting some data:
>
> with Ada.Text_IO;
>
> procedure Convert_Checked
> is
> type Short_Short_Integer is range -(2**7) .. +(2**7-1);
> type Byte is mod 2**8;
>
> package T_IO renames Ada.Text_IO;
> package M_IO is new Ada.Text_IO.Modular_IO (Byte);
>
> A : constant Short_Short_Integer := -1;
> B : constant Byte := Byte (A);
> begin
> T_IO.Put ("B = ");
> M_IO.Put (
> Item => B,
> Width => 5,
> Base => 10);
> end Convert_Checked;
>
> When I compile the demo I get:
>
> convert_checked.adb:12:40: value not in range of type "Byte" defined at line
> 6
> convert_checked.adb:12:40: static expression raises "Constraint_Error"
>
> It is my intention to use a value which is not in range of type "Byte" and
> "Constraint_Error" is precicly what I want to demonstate.
GNAT has determined at compile-time that the value is out of range for
the type you specified.
> However, GNAT won't link the program. Actually GNAT won't even create an *.o
> file. Is this right? Is there an option to force creation?
pragma Suppress(Range_Check)
will suppress the run-time checks, but I'm not sure if it wil suppress
compile-time checks. The best way to test run-time exception cases is
to read some data in from some external source (like the command-line
or a file). There are examples to do this on http://www.adapower.com
next prev parent reply other threads:[~2004-11-29 15:42 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-11-29 9:45 GNAT won't link on "warning" Martin Krischik
2004-11-28 19:37 ` Manuel G. R.
2004-11-29 12:37 ` David C. Hoos, Sr.
2004-11-29 16:52 ` Martin Krischik
2004-11-29 15:42 ` Sandro Magi [this message]
2004-11-30 19:38 ` Adam Beneschan
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox