From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on ip-172-31-65-14.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-0.4 required=3.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 Path: eternal-september.org!news.eternal-september.org!nntp-feed.chiark.greenend.org.uk!ewrotcd!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: Bill Findlay Newsgroups: comp.lang.ada Subject: Re: GNAT or Language Problems? Date: Sat, 17 Jun 2023 18:50:20 +0100 Organization: none Message-ID: <0001HW.2A3E29DC00595EA070000B60138F@news.individual.net> References: Reply-To: findlaybill@blueyonder.co.uk Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Trace: individual.net reKulqj+mHEIO5DPn2eXxgjjy8ZxBp5eYgVB4vKXy0VDOBeJvq X-Orig-Path: not-for-mail Cancel-Lock: sha1:8nyGPEvtKG2yrNvOKwodL2FDzVM= User-Agent: Hogwasher/5.24 Xref: news.eternal-september.org comp.lang.ada:65325 List-Id: On 17 Jun 2023, Jeffrey R.Carter wrote (in article ): > On 2023-06-17 09:28, Randy Brukardt wrote: > > Regarding your second problem, refer to AI22-0041-1. > > > > Essentially, there are problems if predicates are involved. We changed the > > rule to require static compatibility (as a Binding Interpretation). I don't > > have the energy to look up what "static compatibility" requires in this case > > (enjoy figuring out 4.9.1). In some cases, it requires static matching, in > > others, it has weaker requirements. > > There are no predicates involved. One can cut it down to just the type and > constant: I get, in macOS, with: > gcc -c -gnatl12 b_strings_prob.ads and the same with with: > gnatmake -gnatl2022 b_strings_prob.ads > GNAT 12.2.0 > Copyright 1992-2022, Free Software Foundation, Inc. > Compiling: b_strings_prob.ads > Source file time stamp: 2023-06-17 17:38:32 > Compiled at: 2023-06-17 18:38:38 > 1. package B_Strings_Prob is > 2. type B_String (Max_Length : Positive := 1_000) is taggedlimited private; > 3. > 4. Null_B_String : constant B_String; -- A string of zero characters > 5. private -- B_Strings_Prob > 6. type B_String (Max_Length : Positive := 1_000) is tagged limited record > 7. Len : Natural := 0; > 8. Value : String (1 .. Max_Length) := (1 .. Max_Length => ' '); > 9. end record; > 10. > 11. Null_B_String : constant B_String := (Max_Length => 1, others => <>); > 12. end B_Strings_Prob; > 13. > 13 lines: No errors Bug in GNAT 13?? -- Bill Findlay