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.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,648d77c9ea27b233 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2001-10-16 11:51:20 PST Path: archiver1.google.com!news1.google.com!sn-xit-02!sn-xit-01!supernews.com!newshub2.rdc1.sfba.home.com!news.home.com!sjcppf01.usenetserver.com!usenetserver.com!easynews!uunet!dfw.uu.net!ash.uu.net!spool0901.news.uu.net!spool0900.news.uu.net!reader0901.news.uu.net!not-for-mail Sender: cmorgan@elrond Newsgroups: comp.lang.ada Subject: Re: Catching Ada exceptions in C on an SGI References: From: Chris Morgan Date: 16 Oct 2001 14:48:25 -0400 Message-ID: <86g08jwhdy.fsf@mihalis.net> Organization: Linux Hackers Unlimited User-Agent: Gnus/5.0808 (Gnus v5.8.8) Emacs/20.7 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii NNTP-Posting-Host: 199.172.169.20 X-Trace: 1003258281 reader1.ash.ops.us.uu.net 20490 199.172.169.20 Xref: archiver1.google.com comp.lang.ada:14726 Date: 2001-10-16T14:48:25-04:00 List-Id: "Dale Pennington" writes: > Situation is as follows : A third party is supplying us a library in Ada > with C entry (i.e. pragma export). The library is build with GNAT 3.13a on > SGI Irix 6.5. Unfortunately, while they supply C entries, these entries do > not trap any Ada exceptions raised, so if an exception occurs, our program > (written in C) crashes. It is not feasible to detect the conditions that > would raise an exception before the Ada calls, and we are not sure how long > it will take the third party to fix thing (or even if they will). > > In the interim, we would like to somehow catch the Ada exceptions in out C > code. I was wondering if anyone had done work before on this problem, or had > good pointer on where I could look. Wrap the functions in Ada, catch exceptions in the wrappers, and call them from C. -- Chris Morgan