From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-1.9 required=3.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail From: "Jeffrey R. Carter" Newsgroups: comp.lang.ada Subject: Re: gnoga build fails on Mac Date: Mon, 29 Jun 2020 10:29:22 +0200 Organization: Also freenews.netfront.net; news.tornevall.net; news.eternal-september.org Message-ID: References: <4bbbd09e-e14f-46f5-a510-bdf0c17eba8fo@googlegroups.com> <57adcbd8-4583-4c0f-8bdf-1ac8bd6c6913o@googlegroups.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Mon, 29 Jun 2020 08:29:22 -0000 (UTC) Injection-Info: reader02.eternal-september.org; posting-host="7eb42ce9524b51cda784ec4c682c2af6"; logging-data="30911"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19x08tNeMTQ582bJxQJnJTiAgsHOsXBBV4=" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.8.0 Cancel-Lock: sha1:zw/Svtq/WBDAl0RbSN82MNFMK50= In-Reply-To: Content-Language: en-US Xref: reader01.eternal-september.org comp.lang.ada:59244 List-Id: On 6/29/20 2:55 AM, Randy Brukardt wrote: > "Jeffrey R. Carter" wrote in message > news:rcq55l$r03$1@dont-email.me... >> On 6/22/20 7:56 AM, Dmitry A. Kazakov wrote: >>> On 22/06/2020 05:15, Roger wrote: >>>> >>>> demo/db_maker/movies.adb >>>> "equality operator must be declared before type "Movie_Info" is frozen >>>> (RM 4.5.2 (9.8)) (Ada 2012)" >>> >>> That looks like a compiler bug to me. >> >> I agree. What happens if you change "=" from an expression function to a >> regular function? > > It is illegal either way. This was an incompatible change in Ada 2012; it > stems from the fact that "=" of untagged records composes in Ada 2012 but > not in earlier versions of Ada. Composition cannot be view dependent, and as > such we cannot allow "late" declarations of operators where some users would > not see the redefined operator. The declaration of "=" is the first declaration after the type declaration in a procedure. How can it be "late"? What users might not see the operator? -- Jeff Carter "Brave Sir Robin ran away." Monty Python and the Holy Grail 59