From: AdaMagica <christ-usch.grein@t-online.de>
Subject: Re: Alleged GNAT bug
Date: Wed, 25 Oct 2017 10:03:22 -0700 (PDT)
Date: 2017-10-25T10:03:22-07:00 [thread overview]
Message-ID: <b1204442-ba3e-4a37-ba44-033dca774f96@googlegroups.com> (raw)
In-Reply-To: <97915524-04a8-4954-8ed8-058ad63f529e@googlegroups.com>
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.
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.
next prev parent reply other threads:[~2017-10-25 17:03 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-20 18:10 Alleged GNAT bug Victor Porton
2017-10-24 10:13 ` A. Cervetti
2017-10-24 23:08 ` Randy Brukardt
2017-10-25 0:53 ` A. Cervetti
2017-10-25 17:03 ` AdaMagica [this message]
2017-10-25 17:27 ` Victor Porton
2017-10-26 7:09 ` AdaMagica
2017-10-26 18:41 ` Victor Porton
2017-11-14 23:35 ` Randy Brukardt
2017-11-16 15:55 ` Robert Eachus
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox