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=-0.8 required=5.0 tests=BAYES_00,INVALID_DATE autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,57228cde5a9481bb X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 1994-10-23 12:14:45 PST Newsgroups: comp.lang.ada Path: bga.com!news.sprintlink.net!howland.reston.ans.net!EU.net!uunet!clsi!graham From: graham@clsi.COM (Paul Graham) Subject: Re: Change to obscure visibility rule in 9x In-Reply-To: bobduff@dsd.camb.inmet.com's message of Tue, 18 Oct 1994 17:38:30 GMT Message-ID: Sender: usenet@clsi.COM Organization: COMPASS Design Automation References: Date: 20 Oct 1994 04:01:51 GMT Date: 1994-10-20T04:01:51+00:00 List-Id: > 29.j The scope of a subprogram does not start until after its profile. > Thus, the following is legal: > > 29.k X : constant Integer := 17; > procedure X(Y : in Integer := X); By my reading of Ada 83 RM 8.3(16), the above example should be illegal. The rule says that every declaration with same designator ("X") as the subprogram is hidden. In particular, neither constant "X" or procedure "X" is visible in the parameter list. I agree that the 9x rules make example 29.k legal, by letting the name "X" in the parameter list refer to the constant "X", but I don't see how it can be legal in Ada 83. > None of this makes much difference to anybody except a language lawyer. I'm a VHDL language lawyer. I figure I can get help from the Ada Bar Association. Paul -- Paul Graham graham@compass-da.com Compass Design Automation, Inc. (speaking only for myself) "Cekoslovakyalilastiramadiklarimizdanmissiniz."