comp.lang.ada
 help / color / mirror / Atom feed
From: Kilgallen@eisner.decus.org.nospam (Larry Kilgallen)
Subject: Re: Access to classwide type
Date: 2000/07/24
Date: 2000-07-24T00:00:00+00:00	[thread overview]
Message-ID: <sROm1xrE+RU3@eisner.decus.org> (raw)
In-Reply-To: 8lij0o$fqa$1@nnrp1.deja.com

In article <8lij0o$fqa$1@nnrp1.deja.com>, reason67@my-deja.com writes:
> In article <8GRaL$AJ9PHa@eisner.decus.org>,
> 
>> In article <8li0m5$1i4$1@nnrp1.deja.com>, reason67@my-deja.com writes:
>> > How in the heck does it do that? Does Ada.Unchecked_Deallocation
> read
>> > the tag and do a `size on the data structure to determine the size
> of
>> > the memory in heap to release? I am suprised by this. It is more
>> > implicit than I am used to in Ada.
> 
>> If it works for access to a variant type, why shouldn't it work here ?
>>
> 
> Big difference there. A variant record is defined at compile time. The

But which variant is addressed by a particular access variable
cannot be known at compile time.

> number of children on a tagged type can not be known until link time.
> The machine code for the unchecked deallocation has to be static at
> compile time. Like I said, I am betting it reads the 'size inside the
> unchecked deallocation at run-time and deleting the size it determines.

That sounds reasonable, but not particularly different from the
variant case.




  parent reply	other threads:[~2000-07-24  0:00 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-07-23  0:00 Access to classwide type reason67
2000-07-24  0:00 ` David Botton
2000-07-24  0:00   ` reason67
2000-07-24  0:00     ` Larry Kilgallen
2000-07-24  0:00       ` reason67
2000-07-24  0:00         ` David Botton
2000-07-24  0:00         ` Larry Kilgallen [this message]
2000-07-24  0:00     ` David Starner
2000-07-25  0:00       ` Laurent Guerby
2000-07-24  0:00     ` Pascal Obry
2000-07-24  0:00     ` Pat Rogers
2000-07-25  0:00     ` Matthew J Heaney
replies disabled

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