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=ham autolearn_force=no version=3.4.4 X-Google-Thread: a07f3367d7,a4db0fc323f0b09e X-Google-Attributes: gida07f3367d7,public,usenet X-Google-NewGroupId: yes X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!news3.google.com!proxad.net!feeder1-2.proxad.net!news.mixmin.net!feeder.eternal-september.org!eternal-september.org!not-for-mail From: Reto Buerki Newsgroups: comp.lang.ada Subject: Re: Barrier re-evaluation issue with GNAT 4.3.2 Date: Wed, 30 Sep 2009 16:12:46 +0200 Organization: A noiseless patient Spider Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Trace: news.eternal-september.org U2FsdGVkX18Lsvkb8Vy5t3CZWf3IT969Udr65CG6rkOdpceMZyJmUepipXDWmmeEdrnPBnG48Gc+XUY+P8qtBqo0v8YLr4zy9Jo5CUErxutaSFysZFoigkU1Lie5I5HmM1f6wq21S+w= X-Complaints-To: abuse@eternal-september.org NNTP-Posting-Date: Wed, 30 Sep 2009 14:12:32 +0000 (UTC) In-Reply-To: X-Auth-Sender: U2FsdGVkX1+EPpcl7vSqw64efC3cb5YgQytWGJrmsMY= Cancel-Lock: sha1:hoM1UCvN9RKeXsSLTOhKkyIyjk8= User-Agent: Mozilla-Thunderbird 2.0.0.22 (X11/20090706) Xref: g2news2.google.com comp.lang.ada:8537 Date: 2009-09-30T16:12:46+02:00 List-Id: John B. Matthews wrote: > In article , > Reto Buerki wrote: > >> Jeffrey R. Carter wrote: >>> An entry call is always potentially blocking, regardless of its barrier; >>> see ARM 9.5.1. Technically, this code contains a bounded error. Since >>> the potentially blocking operation was detected, your program should >>> raise Program_Error; GNAT pretends that it hasn't detected that the >>> operation is potentially blocking and lets you get away with only a >>> warning. Other compilers (and even other versions of GNAT) may actually >>> raise Program_Error. >> Thanks for the clarification and the pointer to the ARM. This basically >> means that our workaround is not legal Ada code ... > > Well, it's a bounded error. Using Pragma Detect_Blocking, as suggested > by Bob Duff, will tell you if the compiler's warning is actualized at > run-time. As this is a work-around and your original code seems correct, > you might arrange things so that the original can be restored easily > upon upgrade or port. The code runs correctly even though Program_Error is raised when compiled with the Detect_Blocking pragma. I think it's good enough as a workaround, we will upgrade to GNAT 4.4.x as soon as possible. Thanks for all your help!