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,8c8bbb1419c8e81a X-Google-Attributes: gid103376,public From: dewar@merv.cs.nyu.edu (Robert Dewar) Subject: Re: Waiver question Date: 1997/05/04 Message-ID: #1/1 X-Deja-AN: 239224450 References: <5kb8ol$18o@bcrkh13.bnr.ca> <1997May2.063334.1@eisner> <1997May2.164921.1@eisner> Organization: New York University Newsgroups: comp.lang.ada Date: 1997-05-04T00:00:00+00:00 List-Id: Larry said <> Well of course if you have two separate variables, you have to make sure they can be indepednetly accessed by tasks, and if the compiler cannot verify that this might not occur, then of cours they cannot occupy the same longword. The more uncomfortable case is one like this: type x is array (1 .. 64) of character; now, it is really uncomfortable to by default allocate one longword for each character for this declaration, and in practice it is extremely unlikely that two tasks would access different characters of this string. Note that in Ada 83, such access would be erroneous in any case. In Ada 95, this kind of access is valid, but the consequence of this change is rather unpleasant for the (old style) Alpha.