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=3.8 required=5.0 tests=BAYES_00,INVALID_MSGID, RATWARE_MS_HASH,RATWARE_OUTLOOK_NONAME autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,baa6871d466e5af9 X-Google-Attributes: gid103376,public From: "Nick Roberts" Subject: Re: AQ&S Guidance on pragma Elaborate_Body Date: 1997/04/26 Message-ID: <01bc5257$cc6d9fa0$28f982c1@xhv46.dial.pipex.com>#1/1 X-Deja-AN: 237542577 References: <528878564wnr@diphi.demon.co.uk> Organization: UUNet PIPEX server (post doesn't reflect views of UUNet PIPEX) Newsgroups: comp.lang.ada Date: 1997-04-26T00:00:00+00:00 List-Id: Robert Dewar wrote in article ... > > In its default configuration, GNAT 3.10 does not require you to write > "zillions of pragmas", and guarantees that Program_Error cannot occur. > Now it is true that you can construct programs that are treated as > statically illegal in this default mode, when they are in fact legal, > but in practice we have found that the rules we implement (which basically > assume pragma Elaborate_All if not stated where needed because of access > from elaboratoin code) seem to work for a very large subset of programs. > > So far, we have only found a few ACVC tests that defeated these static > checks. We will know more when more people have a chance to try out this > new approach. > > Robert Dewar > Ada Core Technologies. This is very neat, but wouldn't it be better, for cases where it is not strictly determinate, simply for the compiler to issue a warning that Program_Error may be (or 'is likely to be') raised, and compile as normal? Surely this would give the best of both worlds. Nick.