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-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,38ceb882eed41e1e X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2001-10-29 03:12:15 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!bloom-beacon.mit.edu!nycmny1-snh1.gtei.net!chcgil2-snf1.gtei.net!news.gtei.net!news.binc.net!kilgallen From: Kilgallen@SpamCop.net (Larry Kilgallen) Newsgroups: comp.lang.ada Subject: Re: Size and pack Date: 29 Oct 2001 05:12:02 -0600 Organization: LJK Software Message-ID: References: <_umC7.74983$gT6.38373531@news1.rdc1.sfba.home.com> NNTP-Posting-Host: eisner.encompasserve.org X-Trace: grandcanyon.binc.net 1004353924 3447 192.135.80.34 (29 Oct 2001 11:12:04 GMT) X-Complaints-To: abuse@binc.net NNTP-Posting-Date: Mon, 29 Oct 2001 11:12:04 +0000 (UTC) Xref: archiver1.google.com comp.lang.ada:15340 Date: 2001-10-29T05:12:02-06:00 List-Id: In article , lutz@iks-jena.de (Lutz Donnerhacke) writes: > * Larry Kilgallen wrote: >>> Compile on Alpha and get BUS ERROR. >> >>Presumably that is a runtime rather than compilation time error. > > Correct. > >>You didn't say what model of Alpha, but older chips require >>certain instructions be aligned. VMS deals with this through >>alignment fault handlers that fix up such problems at a penalty >>of about 100 instructions. Perhaps you are on Unix or Linux >>(you didn't say in the body text). > > OSF/1. Yep, and I added a pragma Atomic to provocate this effect. RM C.6 10 "It is illegal to apply either an Atomic or Atomic_Components pragma to an object or type if the implementation cannot support the indivisible reads and updates required by the pragma" The Alpha 21064, 21064A and 21164 (at least) cannot support indivisible reads and updates of non-aligned longwords or words. That would seem to indicate that depending on the VMS fixups would not be allowed with pragma Atomic either. It certainly would not produce what I think of as being correct code for the meaning of Atomic. Some other poster can comment regarding the meaning of "illegal" vs. other pejoratives with regard to error messages generated :-)