From: Rod Kay <rodakay5@gmail.com>
Subject: Re: Extra information in the message string of exceptions.
Date: Sat, 29 Oct 2022 14:10:02 +1100 [thread overview]
Message-ID: <tji5i6$3bjhn$3@dont-email.me> (raw)
In-Reply-To: <371ba8ca-2304-4e8a-a77f-82548d706105n@googlegroups.com>
On 29/10/22 11:35, Jerry wrote:
> On Thursday, October 27, 2022 at 4:57:08 AM UTC-7, roda...@gmail.com
wrote:
>> On 8/6/22 19:08, Dmitry A. Kazakov wrote:
>>>
>>> I noticed that it requires a user-defined [sub]type AND nested
subprogram:
>>>
>>> procedure Test (A : Integer) is
>>> subtype T is Integer range 0 .. 42;
>>> i : T;
>>> begin
>>> i := A; -- This will work
>>> end;
>>> begin
>>> Test (-1);
>>>
>> Are you sure about this ?
>>
>> I tried ...
>>
>>
>> procedure Example
>> is
>> X : Positive := 5;
>> begin
>> loop
>> X := X - 1;
>> end loop;
>> end Example;
>>
>>
>> ... with the -gnateE and saw this result ...
>>
>>
>> [rod@orth example]$ ./example
>>
>> raised CONSTRAINT_ERROR : example.adb:6:14 range check failed
>> value 0 not in 1..2147483647
>> [./example]
>> 0x55916975377f Example at example.adb:6
>> 0x559169753b74 Main at b__example.adb:193
>> [/usr/lib/libc.so.6]
>> 0x7f9230be728e
>> 0x7f9230be7348
>> [./example]
>> 0x559169753623 _start at start.S:115
>> 0xfffffffffffffffe
>
> So -gnateE works part of the time?
> Jerry
I've not tested this extensively but assume the extra info would be
shown in most cases.
One exception is the following ...
procedure Example
is
X : Positive := 0 with Unreferenced;
begin
null;
end Example;
... which shows a compile time warning ...
gprbuild -d -P/home/rod/Desktop/sandbox/ada/example/example.gpr
-XLace_Build_Mode=debug -XLace_Restrictions=xgc -XLace_OS=Linux
-Xrestrictions=xgc
Compile
[Ada] example.adb
example.adb:3:20: warning: value not in range of type
"Standard.Positive" [enabled by default]
example.adb:3:20: warning: Constraint_Error will be raised at run time
[enabled by default]
Bind
[gprbind] example.bexch
[Ada] example.ali
Link
[link] example.adb
[2022-10-29 13:56:36] process terminated successfully, elapsed time: 00.60s
... and when run ...
[rod@orth example]$ ./example
raised CONSTRAINT_ERROR : example.adb:3 range check failed
[./example]
0x560439f23710 Example at example.adb:3
0x560439f23b00 Main at b__example.adb:193
[/usr/lib/libc.so.6]
0x7f746d52928e
0x7f746d529348
[./example]
0x560439f23623 _start at start.S:115
0xfffffffffffffffe
I'm a little surprised that the compiler shows a warning rather than
an error but I suppose there must be some reason for that.
next prev parent reply other threads:[~2022-10-29 3:10 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-06-06 12:59 Extra information in the message string of exceptions Rod Kay
2022-06-06 13:40 ` Fabien Chouteau
2022-06-06 18:40 ` G.B.
2022-06-06 19:24 ` Dmitry A. Kazakov
2022-06-07 11:26 ` Rod Kay
2022-06-07 15:55 ` Fabien Chouteau
2022-06-07 16:41 ` Anh Vo
2022-06-08 7:31 ` Jerry
2022-06-08 8:04 ` Dmitry A. Kazakov
2022-06-09 2:39 ` Jerry
2022-06-08 9:08 ` Dmitry A. Kazakov
2022-10-27 11:56 ` Rod Kay
2022-10-29 0:35 ` Jerry
2022-10-29 3:10 ` Rod Kay [this message]
2022-10-29 6:30 ` Gautier write-only address
2022-10-29 8:59 ` G.B.
2022-11-01 0:05 ` Jerry
2022-06-06 14:31 ` Gautier write-only address
2022-06-07 2:33 ` Randy Brukardt
2022-06-07 11:47 ` Rod Kay
2022-06-07 11:29 ` Rod Kay
2022-06-06 20:14 ` Luke A. Guest
2022-06-07 11:51 ` Rod Kay
2022-06-07 21:06 ` Luke A. Guest
2022-06-06 20:49 ` DrPi
2022-06-06 23:17 ` Jerry
2022-06-07 1:53 ` Gautier write-only address
2022-06-07 2:35 ` Randy Brukardt
2022-06-07 8:07 ` Simon Wright
2022-06-08 7:14 ` Jerry
2022-06-09 8:21 ` Robin Vowels
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox