From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: * X-Spam-Status: No, score=1.3 required=5.0 tests=BAYES_00,INVALID_MSGID, MSGID_RANDY autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,11d70610d4cc79b7 X-Google-Attributes: gid103376,public From: Robert Dewar Subject: Re: storage size pragmas Date: 2000/05/07 Message-ID: <8f4rt8$csa$1@nnrp1.deja.com>#1/1 X-Deja-AN: 620431333 References: <3915BC28.A0D56A68@telepath.com> <20000507181719.23279.00001715@ng-fc1.aol.com> X-Http-Proxy: 1.0 x34.deja.com:80 (Squid/1.1.22) for client 205.232.38.14 Organization: Deja.com - Before you buy. X-Article-Creation-Date: Sun May 07 22:49:17 2000 GMT X-MyDeja-Info: XMYDJUIDrobert_dewar Newsgroups: comp.lang.ada X-Http-User-Agent: Mozilla/4.61 [en] (OS/2; I) Date: 2000-05-07T00:00:00+00:00 List-Id: 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.