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 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!feeder.eternal-september.org!news.gegeweb.eu!gegeweb.org!aioe.org!.POSTED!not-for-mail From: Victor Porton Newsgroups: comp.lang.ada Subject: Re: Alleged GNAT bug Date: Wed, 25 Oct 2017 20:27:54 +0300 Organization: Aioe.org NNTP Server Message-ID: References: <2be64a8b-5f89-414c-9dcd-433bd5d855a0@googlegroups.com> <97915524-04a8-4954-8ed8-058ad63f529e@googlegroups.com> NNTP-Posting-Host: 8U0x309/ia0QUzusgm/krA.user.gioia.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: 7Bit X-Complaints-To: abuse@aioe.org User-Agent: KNode/4.14.10 X-Notice: Filtered by postfilter v. 0.8.2 Xref: news.eternal-september.org comp.lang.ada:48586 Date: 2017-10-25T20:27:54+03:00 List-Id: AdaMagica wrote: > Am Mittwoch, 25. Oktober 2017 02:53:26 UTC+2 schrieb A. Cervetti: >> So I conclude: >> The error happens at the freezing point, but with gnat-2017 only in the >> modular version. The code could be legal because it works in the >> monolithic version, but > > I guess you are right. Exporting the last instantiation Finalizer to a > child makes the program legal. By "you are right" you mean "The code could be legal", don't you? Or what do you mean? > package Term.Child is > > package Finalizer is new > Term_Handled_Record.With_Finalization(Term_Type_Without_Finalize); > > type Term_Type is new Finalizer.Derived with null record; > > end Term.Child; > > An instantiation seems to freeze the actual type 13.14(5/3), and > Term_Type_Without_Finalize has a primitive operation involving an > incomplete type. 13.14(10.2/4) does not apply here IMO. > > But I'm in no way a language lawyer, and 13.14 is the heart of darkness. > > As a side note I must say, I'm completely confused about the namings in > this code. The type Base_Object is already finalized, and any and all > further derivations do not add more finalizing code. This is a shortened version of a real Ada2012 code available at https://github.com/vporton/redland-bindings/tree/ada2012 Thus the naming. -- Victor Porton - http://portonvictor.org