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: dewar@cs.nyu.edu (Robert Dewar) Subject: Re: Ada Core Technologies and Ada95 Standards Date: 1996/05/06 Message-ID: #1/1 X-Deja-AN: 153389505 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> organization: Courant Institute of Mathematical Sciences newsgroups: comp.lang.ada Date: 1996-05-06T00:00:00+00:00 List-Id: 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. 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, but there is no requirement to this effect in the RM. An implementation is free to ignore pragma Shared in a program with no tasks (because no observable semantic difference is possible under these circumstances between a shared and non-shared implementation of a given variable). I don't know if the original example had tasks or not. If so, it is possible that the purpose of the report has been destroyed in the cutting down process. This often happens. On the other hand if the original program was expecting pragma Shared to have some effect on non-tasking situations, then this is an expectation not backed up by the RM. Remember that the RM is always talking about "as-if" semantics. When it gives an implementation model, then any implementation model which is formally semantically equivalent is acceptable. 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.