From: Georg Bauhaus <rm.tsoh+bauhaus@maps.futureapps.de>
Subject: Re: ada compiler?
Date: Wed, 14 Nov 2007 13:25:47 +0100
Date: 2007-11-14T13:24:34+01:00 [thread overview]
Message-ID: <1195043147.1007.263.camel@kartoffel> (raw)
In-Reply-To: <1195035988.599522.87580@50g2000hsm.googlegroups.com>
On Wed, 2007-11-14 at 02:26 -0800, Ludovic Brenta wrote:
> Also, if a stack overflow results in
> a SEGV (instead of Storage_Error), I don't clearly see the functional
> difference i.e. the stack overflow gets caught either way.
But who catches? A player in the game (Ada partition),
or someone in the stadium (OS)?
Assume the desired bahavior is this. A message is emitted by
calling Storehouse.Notify in the exception handler below,
shouting "Hey! You!".
$ ./attempt
Hey! You!
raised STORAGE_ERROR : stack overflow detected
Executable translated without -fstack-check:
$ ./attempt
Segmentation fault (core dumped)
How would the other task (Storehouse) learn about the failure in
this case?
with Storehouse;
procedure attempt is
type A is array (Positive range <>) of Natural;
function Get_N return Positive is separate;
function make_array return A is
result : A (1 .. Get_N);
begin
return result;
end make_array;
begin
Sandbox : declare
x : A := make_array;
begin
x (x'First) := x (x'Last);
end Sandbox;
exception
when Storage_Error =>
Storehouse.Notify; -- Hey! You!
raise;
end attempt;
next prev parent reply other threads:[~2007-11-14 12:25 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-11-09 22:25 ada compiler? Bill Cunningham
2007-11-09 22:39 ` anon
2007-11-09 22:59 ` Bill Cunningham
2007-11-09 23:28 ` anon
2007-11-09 23:50 ` Jeffrey R. Carter
2007-11-10 0:32 ` anon
2007-11-10 4:15 ` Jeffrey Creem
2007-11-10 5:08 ` tmoran
2007-11-10 6:12 ` anon
2007-11-10 8:35 ` tmoran
2007-11-10 20:20 ` anon
2007-11-10 22:15 ` Jeffrey Creem
2007-11-11 1:01 ` anon
2007-11-11 1:14 ` (see below)
2007-11-11 2:21 ` Georg Bauhaus
2007-11-11 4:08 ` Jeffrey R. Carter
2007-11-13 13:24 ` Ludovic Brenta
2007-11-14 7:00 ` Jacob Sparre Andersen
2007-11-14 9:15 ` Georg Bauhaus
2007-11-14 10:26 ` Ludovic Brenta
2007-11-14 12:25 ` Georg Bauhaus [this message]
2007-11-14 15:09 ` Ludovic Brenta
2007-11-14 16:03 ` Georg Bauhaus
2007-11-14 16:36 ` Ludovic Brenta
2007-11-14 17:39 ` Georg Bauhaus
2007-11-14 20:40 ` Ludovic Brenta
2007-11-15 9:59 ` Georg Bauhaus
2007-11-14 17:52 ` Georg Bauhaus
2007-11-16 1:07 ` Samuel Tardieu
2007-11-16 1:58 ` tmoran
2007-11-16 9:41 ` Stack checking in GNAT (was: ada compiler?) Ludovic Brenta
2007-11-16 10:56 ` Stack checking in GNAT Samuel Tardieu
2007-11-16 13:04 ` Ludovic Brenta
2007-11-17 7:24 ` anon
2007-11-29 0:32 ` Robert A Duff
2007-11-17 1:37 ` ada compiler? Randy Brukardt
2007-11-17 1:18 ` Randy Brukardt
2007-11-29 0:41 ` Robert A Duff
2007-11-14 21:31 ` Niklas Holsti
2007-11-17 1:50 ` Randy Brukardt
2007-11-14 18:33 ` anon
2007-11-12 5:13 ` anon
2007-11-11 14:15 ` Jeffrey Creem
2007-11-13 7:11 ` Martin Krischik
2007-11-13 8:47 ` anon
2007-11-13 9:34 ` to gnat make or not to gnat make (Was: ada compiler?) Martin Krischik
2007-11-13 22:46 ` anon
2007-11-13 23:14 ` to gnat make or not to gnat make Simon Wright
2007-11-14 9:21 ` to gnat make or not to gnat make (Was: ada compiler?) Georg Bauhaus
2007-11-13 22:41 ` ada compiler? Simon Wright
2007-11-17 2:07 ` Randy Brukardt
2007-11-17 7:51 ` anon
2007-11-17 9:00 ` Pascal Obry
2007-11-17 12:24 ` Ludovic Brenta
2007-11-19 21:35 ` Randy Brukardt
2007-11-10 15:03 ` (see below)
2007-11-12 16:38 ` Adam Beneschan
2007-11-13 3:16 ` John W. Kennedy
2007-11-13 16:46 ` Adam Beneschan
2007-11-10 3:07 ` Georg Bauhaus
2007-11-13 0:20 ` adaworks
2007-11-13 22:27 ` Simon Wright
2007-11-14 17:32 ` Britt Snodgrass
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox