comp.lang.ada
 help / color / mirror / Atom feed
From: Robert Dewar <robert_dewar@my-deja.com>
Subject: Re: storage size pragmas
Date: 2000/05/07
Date: 2000-05-07T00:00:00+00:00	[thread overview]
Message-ID: <8f4rt8$csa$1@nnrp1.deja.com> (raw)
In-Reply-To: 20000507181719.23279.00001715@ng-fc1.aol.com

In article <20000507181719.23279.00001715@ng-fc1.aol.com>,
  anthonygair@aol.comremoveme (ANTHONY GAIR) wrote:
>
> The witch is dead.... it was a storage_error.. no exception
was produced in
> fact my ada installation does not think it important to tell
me about any
> details such as errors. sorry for wasting everyones time but
......as it turns
> out segmentation faults can be caused by bad prXXX er ... not
placing storage
> pragmas in big chogablog largist tasks.

Well if you don't enable stack checking (you need -fstack-check
in gcc to do this), then you won't get stack checking. It is
as simple as that. I assume you have indeed read the GNAT users
guide, but to be fair, this is something you have to go to the
GCC documentation for. In the latest version of the GNAT
documentation, we have copied a section on stack checking.
We choose to have stack checking off by default, because it
is a gcc option, and our convention in GNAT is to set the
defaults for gcc options the same way as all other GCC
compilers, or it causes a lot of confusion.

This sort of GNAT specific detail is better discussed on
chat@gnat.com rather than comp.lang.ada.

Note incidentally that even if you DO enable stack checking,
your implementation still will not tell you about this error,
since the required Ada semantics for tasking is to silently
terminate a task on an unhandled exception. You may want to
put an exception handler at the outer level of every task
to avoid this surprise.

(I dislike this design in Ada, I would prefer that an unhandled
exception in ANY task cause implementation defined program
termination, as it does in the environment task. I think this
would be FAR more useful. If you really want the undesirable
semantics required now, you could get them with a handler
at the outer level of a task that said

   when others => null;

Yes, that's a highly suspicious handler, and that's the point!!!







>
> Are ADA and linux a good combination :-
> www.remotely.useful.com
>


Sent via Deja.com http://www.deja.com/
Before you buy.




  parent reply	other threads:[~2000-05-07  0:00 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-05-07  0:00 storage size pragmas ANTHONY GAIR
2000-05-07  0:00 ` Pascal Obry
2000-05-07  0:00 ` Ted Dennison
2000-05-07  0:00   ` Robert Dewar
2000-05-07  0:00   ` Robert Dewar
2000-05-07  0:00   ` Robert Dewar
2000-05-07  0:00   ` ANTHONY GAIR
2000-05-07  0:00     ` Robert Dewar
2000-05-09  0:00       ` ANTHONY GAIR
2000-05-09  0:00         ` Robert A Duff
2000-05-09  0:00           ` Robert Dewar
2000-05-09  0:00             ` Robert A Duff
2000-05-10  0:00               ` Laurent Guerby
2000-05-09  0:00             ` Larry Kilgallen
2000-05-09  0:00             ` Ted Dennison
2000-05-09  0:00         ` Robert Dewar
2000-05-07  0:00     ` Robert Dewar [this message]
2000-05-08  0:00     ` Ted Dennison
2000-05-08  0:00       ` Robert Dewar
2000-05-08  0:00         ` Ted Dennison
2000-05-08  0:00           ` Robert Dewar
2000-05-07  0:00 ` Keith Thompson
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox