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 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!news.eternal-september.org!mx05.eternal-september.org!.POSTED!not-for-mail From: Jeffrey Carter Newsgroups: comp.lang.ada Subject: Re: Elaboration order handling (Was: Bug in 'gnatmake') Date: Fri, 21 Jun 2013 11:35:28 -0700 Organization: Also freenews.netfront.net; news.tornevall.net Message-ID: References: <7f33982d-3bcf-452e-a3b3-3a0a28505ff1@x20g2000vbe.googlegroups.com> <87r4g0g9c0.fsf@adaheads.sparre-andersen.dk> <87ip1bg4z2.fsf_-_@adaheads.sparre-andersen.dk> <53d0b070-a03b-43d0-a560-68dd3a8bebf5@googlegroups.com> <51c218df$0$6623$9b4e6d93@newsspool2.arcor-online.net> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Fri, 21 Jun 2013 18:30:23 +0000 (UTC) Injection-Info: mx05.eternal-september.org; posting-host="ea9e222491b6e4ac16c72e6c1b727e42"; logging-data="2311"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+TSoXXCWTAa3RcE4FCbJEBjlWJPAX9eNw=" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/17.0 Thunderbird/17.0 In-Reply-To: Cancel-Lock: sha1:OeT7FXn7qBruo7e5v3DuPsca0h8= Xref: news.eternal-september.org comp.lang.ada:15877 Date: 2013-06-21T11:35:28-07:00 List-Id: On 06/21/2013 08:48 AM, Adam Beneschan wrote: > On Thursday, June 20, 2013 10:26:14 PM UTC-7, Jeffrey Carter wrote: > > Do you do that with empty parameter lists? > > procedure Proc_1 > --(null) > is ... > > How about empty constraints? The definition of is > [null_exclusion] [constraint]. If the constraint is empty, > shouldn't you have to put something in there to indicate that it's > deliberately empty? > > I : Integer; --null constraint None of those are places the language could require a null statement, so I think you're comparing apples to oranges. (By "statement", I mean something with a terminator semicolon that I count as a statement when counting statements, which includes declarations. By "null statement" I mean a statement identical to Ada's null statement, even if it's a declaration. So, yes, the language could require a null statement in a declarative part.) It appears that the language designers considered declarative regions to be different enough from executable regions to require null statements in the latter and not the former, and most people go along with that without really thinking about it. I thought about it and don't see a significant distinction. In NINA (a language probably no one will like but me) a declarative part has to have at least one declaration, and "null;" must appear if there are no other declarations. -- Jeff Carter "Sheriff murdered, crops burned, stores looted, people stampeded, and cattle raped." Blazing Saddles 35