From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM autolearn=unavailable autolearn_force=no version=3.4.4 X-Received: by 10.224.169.1 with SMTP id w1mr6446659qay.4.1376425282605; Tue, 13 Aug 2013 13:21:22 -0700 (PDT) X-Received: by 10.50.80.78 with SMTP id p14mr324977igx.6.1376425282497; Tue, 13 Aug 2013 13:21:22 -0700 (PDT) Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!news.eternal-september.org!news.eternal-september.org!feeder.eternal-september.org!usenet.blueworldhosting.com!feeder02.blueworldhosting.com!npeer01.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!fx3no2366557qab.0!news-out.google.com!he10ni1415qab.0!nntp.google.com!fx3no2366556qab.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Tue, 13 Aug 2013 13:21:22 -0700 (PDT) In-Reply-To: <988e9ddb-e58a-4d52-9b43-71a080890dd4@googlegroups.com> Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=66.126.103.122; posting-account=RxNzCgoAAACA5KmgtFQuaU-WaH7rjnAO NNTP-Posting-Host: 66.126.103.122 References: <90b5c304-417e-4303-931c-e86d34e17541@googlegroups.com> <988e9ddb-e58a-4d52-9b43-71a080890dd4@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: Subject: Re: Questions on Storage Pools From: Adam Beneschan Injection-Date: Tue, 13 Aug 2013 20:21:22 +0000 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Received-Bytes: 2587 Xref: news.eternal-september.org comp.lang.ada:16847 Date: 2013-08-13T13:21:22-07:00 List-Id: On Tuesday, August 13, 2013 12:36:08 PM UTC-7, AdaMagica wrote: > I understand and know this. But: Is there a GNAT GPL 2013 bug in this pro= gram: > [snipped] > There is no finalization of the still existing allocated objects. The col= lection is dying, so it should be finalized and with it all still existing = allocated objects. It's irrelevant if there is the aspect Storage_Size or n= ot. >=20 > If there is Storage_Size, the storage will be freed. If there is none, th= e storage remains allocated (with finalized objects inside). Correct? I believe this is correct, although off the top of my head I think that if = there's no Storage_Size clause, the implementation is still allowed to deal= locate the storage if it chooses. =20 But yes, when the end of the block is reached, the three not-yet-deallocate= d objects should be finalized. In fact, if you remove the Free call, then = when the end of the block is reached, all four objects should have Finalize= d called on them, even though one of those objects now has nothing pointing= to it. =20 At least I think this is still correct. Some relevant paragraphs got chang= ed in Ada 2012. I don't think they affect your example, but I'm planning t= o look more carefully. -- Adam =20