comp.lang.ada
 help / color / mirror / Atom feed
From: dog.ee.lbl.gov!hellgate.utah.edu!cs.utexas.edu!qt.cs.utexas.edu!news.Brow n.EDU!noc.near.net!inmet!spock!stt@ucbvax.Berkeley.EDU  (Tucker Taft)
Subject: Re: User-defined assignment
Date: 16 Oct 92 23:13:46 GMT	[thread overview]
Message-ID: <1992Oct16.231346.11881@inmet.camb.inmet.com> (raw)

In article <1992Oct16.115805.15575@cfmu.eurocontrol.be> 
stef@cfmu.eurocontrol.be (Stef Van Vlierberghe) writes:
> . . .
>Ideally you would submit a comment to ada9x-mrt@inmet.com, then it will
>get filed in their database, and forwarded to DRs and ISO delegates. As
>these comments are processed automatically, they have to start with the
>following header :
>
>!topic User defined assignment
>!reference MS-5.2,7.4.1,7.4.5;4.0

Please don't use this format.  It will be rejected by our automatic
mail processing tool.  Each reference should be on its own line:

  !reference MS-5.2;4.0
  !reference MS-7.4.1;4.0
  !reference MS-7.4.5;4.0

In case you are interested, these references refer to sections
of the Ada 9X Mapping Specification, version 4.0, which is on-line
on the ajpo machine, available via anonymous ftp.

>!discussion

We do encourage people to comment on this issue.

The fundamental difficulty we face is the fact that
Ada already supports exceptions and abort (something only
beginning to appear in C++), and having full support
for user-defined assignment and finalization without imposing
significant per-object space overhead requires an approach
based on some kind of program counter (PC) map of the program.
Currently Ada exception handlers are typically implemented using
PC maps, but they don't have to handle the granularity of
individual component initializations of a composite object, which
would be necessary to fully support finalization via a PC map.

Array initializations are problem the worst, since these generally
occur in a loop, and so the finalization would to be done
for only those elements for which initialiation succeeded, requiring
that the exception handler have a loop that depended on the state
of the initialization loop at the time of the exception.

It will be interesting to see how C++ implementations adapt to
accommodate the addition of exception handling, given that they
already support destructors and user-defined assignment without
per-object overhead (in general).  I have seen some descriptions
of PC-map based approaches, but they seemed both complex and incomplete.
Does anyone know the strategy/complexity/efficiency of HP's C++ 
(which supposedly supports exception handling, and of course destructors)?

>-- 
>Stef VAN VLIERBERGHE            Eurocontrol - Central Flow Management Unit
>stef@cfmu.eurocontrol.be        Avenue des Arts 19H
>Tel: +32 2 729 33 42            B-1040 BRUSSELS
>Fax: +32 2 729 32 16            Belgium

S. Tucker Taft   stt@inmet.com
Ada 9X Mapping/Revision Team
Intermetrics, Inc.
Cambridge, MA  02138

             reply	other threads:[~1992-10-16 23:13 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1992-10-16 23:13 dog.ee.lbl.gov!hellgate.utah.edu!cs.utexas.edu!qt.cs.utexas.edu!news.Brow [this message]
  -- strict thread matches above, loose matches on Subject: below --
1992-10-30  2:39 User-defined assignment Alex Blakemore
1992-10-29 18:20 Jack Beidler
1992-10-22 22:19 dog.ee.lbl.gov!hellgate.utah.edu!caen!zaphod.mps.ohio-state.edu!darwin.su
1992-10-21 23:42 dog.ee.lbl.gov!hellgate.utah.edu!caen!zaphod.mps.ohio-state.edu!rpi!bu.ed
1992-10-20 15:12 Rick Hudson
1992-10-19 14:13 Douglas N. Surber
1992-10-19  7:55 Dag Bruck
1992-10-19  7:31 Dag Bruck
1992-10-18 19:29 cis.ohio-state.edu!zaphod.mps.ohio-state.edu!darwin.sura.net!uvaarpa!soft
1992-10-17 23:32 Tucker Taft
1992-10-17 17:57 dog.ee.lbl.gov!hellgate.utah.edu!caen!malgudi.oar.net!zaphod.mps.ohio-sta
1992-10-16 11:58 St ef Van Vlierberghe
1988-12-09 13:16 user-defined assignment Robert Firth
1988-12-09 20:35 ` David S. Rosenblum
replies disabled

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