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,42427d0d1bf647b1 X-Google-Attributes: gid103376,public From: john@assen.demon.co.uk (John McCabe) Subject: Re: Ada Core Technologies and Ada95 Standards Date: 1996/05/08 Message-ID: <831590385.6539.0@assen.demon.co.uk>#1/1 X-Deja-AN: 153815813 x-nntp-posting-host: assen.demon.co.uk references: <00001a73+00002c20@msn.com> <315FD5C9.342F@lfwc.lockheed.com> <828474655.17825@assen.demon.co.uk> <829673790.5774@assen.demon.co.uk> <830205885.24190@assen.demon.co.uk> <317CB211.3DBA@lmtas.lmco.com> <3180C57E.630C@lmtas.lmco.com> <4m2ke4$rg8@cliffy.lfwc.lockheed.com> <831410273.2370.0@assen.demon.co.uk> newsgroups: comp.lang.ada Date: 1996-05-08T00:00:00+00:00 List-Id: dewar@cs.nyu.edu (Robert Dewar) wrote: >John published an example of a supposed bug report. But it concerned >pragma Shared, and pragma Shared only has non-null semantics in the >presence of tasking, but there was no task in the program. So this >is clearly not a bug report. Robert, this topic has been discussed before by a number of people in this group, and by email. I have also read your report on "Shared Variables and Ada 9X Issues". It is quite clear from what is written there that you believe the shared variables section of RM83 to be extremely unclear, so please do not use the grammar of that section as an argument defending a duff implementation, especially as you were so involved in the effort to clear this mess up in Ada 9X. >My guess is that you were assuming that pragma Shared should someone >behave reasonably with respect to undefined outside accesses to something >with an address clause. OK, that is a reasonable assumption, I would say that's more than a reasonable assumption given that (as I stated towards the bottom of that message) the program works _exactly_ as I had expected if the address clause is left out. I cannot think of any defence for an implementation to do this except that it is a bug - hence this clearly _is_ a bug report. >but there is no requirement to this effect in the RM. True - but see above. <.. snip ..> >So you can't appeal to the RM here -- you can talk about what would be >the most useful implementation approach. Certainly GNAT would not ignore >the pragma in this situation, even though it is formally allowed to. I imagine most compilers would not ignore the pragma in this situation. I know, for example, that Tartan's compiler for MIL-STD-1750A doesn't ignore the pragma. It is the consistency of the implementation that is at fault here - why ignore the pragma when the object is address claused (suggesting outside influences - possibly a "phantom task"?) but take full account of it when no address clause is given? Anyway, this is getting a bit off-topic, it was only meant as an example of a bug report that I had handy at the time. If you want to dicuss this particular example further, please contact me via email but I think it's been thrashed to death already. Best Regards John McCabe