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!.POSTED!not-for-mail From: Simon Wright Newsgroups: comp.lang.ada Subject: Re: Strange warning message Date: Sat, 02 Dec 2017 08:47:06 +0000 Organization: A noiseless patient Spider Message-ID: References: <7c246c12-77f6-45c9-a05a-9afe934df332@googlegroups.com> <705c80ad-2338-4c81-b2b5-d5ea5e2b5b62@googlegroups.com> <51a6bff7-ca9f-44d8-a00b-9068727fb104@googlegroups.com> <67aa971f-9ea3-4a24-88d2-b3b4ec502451@googlegroups.com> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: reader02.eternal-september.org; posting-host="0a0a02586a45d23e74b238e4b14633d7"; logging-data="5954"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+99IhkgLf/3/SFH9njP60VjQpQb1uxD0g=" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (darwin) Cancel-Lock: sha1:9OBODvaLR7uagoowOgp8xE0j2R0= sha1:yx2eRy+KHRNw3dB3YJ2An4+Ceek= Xref: reader02.eternal-september.org comp.lang.ada:49319 Date: 2017-12-02T08:47:06+00:00 List-Id: Robert Eachus writes: > For tasks, we have this additional constraint. You can't leave the > scope in which a task is declared because the task can still access > those objects. So functions, procedures, tasks and even packages can > need to wait for all the tasks declared locally to be completed (or > waiting at a terminate alternative). Again declaring library level > tasks, if you don't need this complex behavior, eliminates run-time > code to make it work. In my experience, when GNAT (with the default static elaboration) has been unable to find a valid elaboration order, it's almost always been because of library-level tasks; the binder can't tell whether the task (which starts executing on completion of its package's elaboration) actually makes any calls to with'd packages at that point, so assumes the worst.