comp.lang.ada
 help / color / mirror / Atom feed
From: adam@irvine.com
Subject: Order of subcomponent finalization
Date: 1999/03/16
Date: 1999-03-16T00:00:00+00:00	[thread overview]
Message-ID: <7cmcu3$o7g$1@nnrp1.dejanews.com> (raw)

Suppose a record type and an object of that type are declared:

procedure Subp is

    type Rectype is record
        Component_1 : Controlled_Type_1;
        Component_2 : Controlled_Type_2;
    end record;

    R : Rectype;

begin
...
end Subp;

where Controlled_Type_1 and Controlled_Type_2 are controlled types (duh).

According to 7.6(12), R.Component_1 and R.Component_2 are initialized
in arbitrary order (since neither one has an access discriminant
constrained by a per-object expression).  But does the RM specify in
which order the components are finalized when Subp exits?  7.6.1(9)
says similarly that the components of a composite type are finalized
in arbitrary order; but 7.6.1(11) says that objects created by
declarations in a master (in this case Subp) are finalized in the
reverse order of their creation, and 3.3(12) says that R.Component_1
and R.Component_2 are objects (although whether they count as "objects
created by a declaration is unclear to me, especially after reading
3.3.1(16-19)).  So would 7.6.1(11) imply that R.Component_1 and
R.Component_2 be finalized in the reverse order in which they were
initialized (in apparent contradiction to 7.6.1(9))?

                                -- thanks, Adam

-----------== Posted via Deja News, The Discussion Network ==----------
http://www.dejanews.com/       Search, Read, Discuss, or Start Your Own    




             reply	other threads:[~1999-03-16  0:00 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-03-16  0:00 adam [this message]
1999-03-16  0:00 ` Order of subcomponent finalization Tucker Taft
replies disabled

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