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: kilgallen@eisner.decus.org (Larry Kilgallen) Subject: Re: Waiver question Date: 1997/05/03 Message-ID: <1997May3.075709.1@eisner>#1/1 X-Deja-AN: 239115603 X-Nntp-Posting-Host: eisner.decus.org References: <1997May2.063334.1@eisner> <1997May2.164921.1@eisner> X-Nntp-Posting-User: KILGALLEN X-Trace: 862660638/22236 Organization: LJK Software Newsgroups: comp.lang.ada Date: 1997-05-03T00:00:00+00:00 List-Id: In article , bobduff@world.std.com (Robert A Duff) writes: > In article <1997May2.164921.1@eisner>, > Larry Kilgallen wrote: >>A casual programmer would presume that if variable A is only modified >>by task AA and variable B is only modified by task BB then they are >>task-safe. This is not true if the variables share a longword on >>Alpha. Having variables default to not sharing a longword goes a >>long way toward eliminating this exposure. > > OK, but remember that we're only talking about subcomponents of the same > record or array, here. Two different object declarations always produce > independently addressable objects -- it's just a question of whether X.A > and X.B are independently addressable (which currently depends on > whether the type of X is packed). Robert Dewar stated earlier in this thread that Alpha was "addressable" to the byte level even though only "accessible" down to the byte level. If both of you have the same meaning for the term "addressable", then the fact that A and B are independently addressable does not necessarily mean they are in separate longwords. Larry Kilgallen