comp.lang.ada
 help / color / mirror / Atom feed
From: netnews!lab.ultra.nyu.edu!kenner@nyu.edu  (Richard Kenner)
Subject: Re: verdix kisses off Ada
Date: 25 May 93 20:26:07 GMT	[thread overview]
Message-ID: <1ttvcv$qsv@calvin.NYU.EDU> (raw)

In article <1993May24.220351.22467@fcom.cc.utah.edu> val@csulx.weber.edu writes
:
>I've heard that since C++ has added exceptions, GNU (not the GNAT team) is
>in the process of rewriting the C++ compiler backend to support this.  The
>work of the GNAT team may or may not be rolled back into the backend by
>GNU.  (I'd appreciate hearing about this from a well informed source.  Is
>the co-director of GNAT still listening?)

Robert Dewar asked me to respond to this.

There are now three languages that want to use the GCC backend and
also support exceptions: Modula-3, Ada, and C++.  For a number of
months we had both in-person and email discussions of the issues
involved in implementing a common mechanism for handling exceptions
between the three languages.  We also anticipate adding extensions to
GNU C to support exceptions.

Since our goal in every other part of GNAT design is to allow full
mixing of languages, we want to ensure that the design of the
exception mechanism also permits this.  We decided, for now, to avoid
the language issues of how one language will refer to another's
exceptions and the fact that there are semantic differences between
what an exception is in the languages, and instead ensure that our
low-level mechanism is general enough to allow cross-language
exception catching if we could make sense of it at the language level.
But you will certainly be able to propagate an Ada exception up
through functions written in some other GCC-supported language to
another Ada subprogram.

We also need to support the various language "cleanup" features in
blocks and subprograms that are unwound when an exception is handled.
Again, this needs to be language-independent.

In addition, we want a "zero-overhead" mechanism that depends on
tables of PC ranges instead of having executable code set up exception
handlers.  Note that I put "zero-overhead" in quotes because the
mechanism is not entirely free.  In some cases register allocation
will be adversely affected and on some machines you have to execute a
"barrier" instruction when changing exception boundaries.

Finally, remember that we want this mechanism to work on all
GCC-supported targets, of which there are currently 27.  So we need a
method that handles at least three languages on 27 machines.  We also
do not want to our exception mechanism to impose too much of a burden
people who port GCC to a new architecture.

The current state of the design is that we understand how to solve
almost all of the problems.  Robert has written a draft of a long note
describing the scheme in detail.  However, we had to put this effort
aside for a while due to more pressing issues.  We expect to have this
document ready in the early summer and I will then start the
modifications to the GCC backend to implement them.  These
modifications should be included in whatever version of GCC is
released sometime in the fall.

As to whether the "GNU project" or "GNAT project" is doing this work:
I wear both hats.  Starting in a few months I will be taking over GCC
maintenance and development from RMS and will be 50% funded by a
consortium of interested companies.  The other 50% of my funding will
come from GNAT.

             reply	other threads:[~1993-05-25 20:26 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1993-05-25 20:26 Richard Kenner [this message]
  -- strict thread matches above, loose matches on Subject: below --
1993-05-28 21:45 verdix kisses off Ada deccrl!news.crl.dec.com!dbased.nuo.dec.com!digits.enet.dec.com!brett
1993-05-28 19:20 David Emery
1993-05-28 16:36 agate!howland.reston.ans.net!usc!elroy.jpl.nasa.gov!swrinde!cs.utexas.edu
1993-05-28 14:07 deccrl!news.crl.dec.com!dbased.nuo.dec.com!digits.enet.dec.com!brett
1993-05-28  6:41 VERDIX KISSES OFF ADA Robert Dewar
1993-05-27 21:47 verdix kisses off Ada agate!howland.reston.ans.net!usc!cs.utexas.edu!csc.ti.com!tilde.csc.ti.co
1993-05-26 23:51 VERDIX KISSES OFF ADA dog.ee.lbl.gov!overload.lbl.gov!agate!howland.reston.ans.net!darwin.sura.
1993-05-25 15:31 verdix kisses off Ada Laurence VanDolsen
1993-05-25  2:26 Michael Feldman
1993-05-24 23:18 Greg Titus
1993-05-24 22:03 cis.ohio-state.edu!magnus.acs.ohio-state.edu!usenet.ins.cwru.edu!howland.
1993-05-24  1:54 Verdix " Jonathan Schilling
1993-05-22 16:43 verdix " Michael Feldman
1993-05-22  0:46 agate!howland.reston.ans.net!noc.near.net!das-news.harvard.edu!ogicse!ver
1993-05-21 16:21 Michael Feldman
1993-05-21 14:19 Gregory Aharonian
1993-05-21 11:10 Verdix " news
1993-05-20 17:30 verdix " Robert Dewar
1993-05-20 13:48 arthur.j.northrup
1993-05-20 13:44 Robert Dewar
1993-05-20 13:41 Tucker Taft
1993-05-19 23:25 Val Kartchner
1993-05-19  2:40 Michael Feldman
1993-05-18 23:47 dog.ee.lbl.gov!overload.lbl.gov!lll-winken.llnl.gov!taurus.cs.nps.navy.mi
1993-05-18 17:56 dog.ee.lbl.gov!network.ucsd.edu!swrinde!emory!ogicse!verdix!sfz
1993-05-17 22:20 Verdix " Robert I. Eachus
1993-05-17 19:53 David Emery
1993-05-17 16:52 Robert Kitzberger
1993-05-17  2:02 news
1993-05-14 19:33 Bruce Jones
1993-05-14 11:01 Anders Thulin
1993-05-13 17:42 Gregory Aharonian
replies disabled

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