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.
next prev 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