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 autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,30a9bb3017fa58dd X-Google-Attributes: gid103376,public X-Google-Thread: 1025b4,959627a08fbc77c5 X-Google-Attributes: gid1025b4,public From: Andi Kleen Subject: Re: GNAT versions ( was :Ada compiler for PC?) Date: 1999/05/06 Message-ID: #1/1 X-Deja-AN: 474779083 Sender: andi@fred.muc.de References: <7fndu7$im4$1@nnrp1.dejanews.com> <7gbjhg$s98$1@rtl.cygnus.com> <7gpsrd$qc7$1@nnrp1.dejanews.com> <7gs0d5$lvh$1@nnrp1.deja.com> X-Trace: 6 May 1999 17:45:13 +0100, 195.180.232.64 Newsgroups: comp.lang.ada,gnu.misc.discuss Date: 1999-05-06T00:00:00+00:00 List-Id: Robert Dewar writes: > I did the design and implementation of the exception handling in > Ada, so I am pretty familiar with what was and was not done. Yes > there were early discussions about trying to deal with commonality > between the languages, but unfortunately these did not result in > a common facility. I tried to understand what had been done for > C++ but failed. Others here at ACT are still trying to do more > merging here, but it is not easy. I found no high level interface > oriented description of the mechanism used for C++. Perhaps I > simply did not look hard enough, or just did not know how to read > the code correctly. I find the back end of GCC rather difficult > to navigate (and indeed in a recent email Per Bothner (hope I > remembered the spelling right) claimed that the entire gcc compiler > was ill-documented so why single out the exception handling). I > find that position FAR too pessimistic, and indeed in general the > gcc backend is documented a lot better than many proprietary > compilers with which I am familiar, but in this particular case, > we have not yet achieved the ideal of merging the exception handling > of C++ and Ada. I believe this could only have been achieved if we > had started with a fully documented high level design. As a first impression the GNAT 3.11 "zero-cost" EH implementation seems to usually generate smaller unwind tables than the egcs C++ EH implementation (IMNSHO that is the main problem with the current egcs EH - too much executable bloat) It would be great if the best points of both could be merged. -Andi