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=-2.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM, MAILING_LIST_MULTI autolearn=unavailable autolearn_force=no version=3.4.4 X-Google-Thread: 103376,1676be4fafed1dbb X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news2.google.com!proxad.net!usenet-fr.net!enst.fr!melchior!cuivre.fr.eu.org!melchior.frmug.org!not-for-mail From: "Christoph Karl Walter Grein" Newsgroups: comp.lang.ada Subject: Re: Semantics of Inline vs non-Inline Date: Mon, 18 Oct 2004 08:29:00 +0200 Organization: http://freemail.web.de/ Message-ID: NNTP-Posting-Host: lovelace.ada-france.org Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Trace: melchior.cuivre.fr.eu.org 1098264741 29390 212.85.156.195 (20 Oct 2004 09:32:21 GMT) X-Complaints-To: usenet@melchior.cuivre.fr.eu.org NNTP-Posting-Date: Wed, 20 Oct 2004 09:32:21 +0000 (UTC) To: comp.lang.ada@ada-france.org Return-Path: Precedence: fm-user X-Virus-Scanned: by amavisd-new-20030616-p10 (Debian) at ada-france.org X-Mailman-Approved-At: Wed, 20 Oct 2004 11:32:09 +0200 X-BeenThere: comp.lang.ada@ada-france.org X-Mailman-Version: 2.1.5 List-Id: "Gateway to the comp.lang.ada Usenet newsgroup" List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Xref: g2news1.google.com comp.lang.ada:5509 Date: 2004-10-18T08:29:00+02:00 From: Wojtek Narczynski > > RM 13.3(15..18) specify the recommended level of support. > > Those paragraphs do not mandate returning a rubbish address for unsuported > cases. Also please note that if you use other attributes in context where > it does not make sense, the compiler will tell you about it. When you're going outside the recommended level of support, you're on your own and can't blame the compiler vendor. It's a nice feature if you get a warning. And ACT is very open to proposals for better compiler messages. (I do not know who the compiler vendor of the OP is.) > > RM 13.3(13) says it's the programmer's responsibility to ensure the > > address is valid. > > "If an Address is specified, it is the programmer's responsibility to > ensure that the address is valid; otherwise, program execution is > erroneous." > > This does not say anything about when 'Address produces correct result, it > only says that in "for X'Address use ", you're supposed to provide > correct . function Push( Datum : Datum_Type ) return List.Cell_Ptr is LM_Datum : List.Datum_Type; for LM_Datum'Address use Datum'Address; And here, no correct is provided. So RM 13.3(13) is violated. Therefore the program is erroneous. Erroneous means: The compiler need not detect this. If it doesn't, the program is free to do anything. The (in)famous nasal demons :-) ________________________________________________________________ Verschicken Sie romantische, coole und witzige Bilder per SMS! Jetzt neu bei WEB.DE FreeMail: http://freemail.web.de/?mc=021193