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.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,55f243f32a97dc7e X-Google-Attributes: gid103376,public From: dewar@merv.cs.nyu.edu (Robert Dewar) Subject: Re: Elaboration_check For Instantiations Date: 1997/10/27 Message-ID: #1/1 X-Deja-AN: 286129816 References: <1997Oct23.205254.25272@nosc.mil> <1997Oct27.221500.1918@nosc.mil> X-Complaints-To: usenet@news.nyu.edu X-Trace: news.nyu.edu 877998061 9637 (None) 128.122.140.58 Organization: New York University Newsgroups: comp.lang.ada Date: 1997-10-27T00:00:00+00:00 List-Id: Charles said << One of the compilers that I thought accepted this construct actu- ally disallows it, but in a non-standard manner. (This is a very highly respected Ada 83 compiler.) It compiles that entire package, specifica- tion and body, with no warnings. No "Execution of this construct will cause Program_error to be raised." However, when you try to link the programs, you're told that the specification is obsolete. In other words, the spec compiles o. k., but compiling the body obsoletes the spec. Of course, recompiling the spec will obsolete the body, etc. >> This is non-conforming behavior. It should be reported as a bug if the vendor is still supporting the compiler. There is nothing illegal about this construct (the warning that GNAT gives is of course just that, a warning). This program *must* execute, and *must* raise Program_Error.