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,610e53a911ec64b3 X-Google-Attributes: gid103376,public From: dewar@cs.nyu.edu (Robert Dewar) Subject: Re: Importing C Structures Date: 1995/03/28 Message-ID: <3la41i$ftj@gnat.cs.nyu.edu>#1/1 X-Deja-AN: 100540698 references: <3kr4q3$jd9@newsflash.concordia.ca> <1995Mar26.081652.9489@eisner> <3l6m0b$pj9@theopolis.orl.mmc.com> organization: Courant Institute of Mathematical Sciences newsgroups: comp.lang.ada Date: 1995-03-28T00:00:00+00:00 List-Id: T.E.D says "volatile is in Dec Ada only". And in Ada 95, where it is one of the predefined pragmas (and is currently implemented in GNAT). One thing to be concerned with is that if you map to hardware memory addressed locations, you are making non-portable, target dependent assumptions about the exact sequence of instructions that will be generated. For example, if you map to a byte, normally the code generator could use a load word/extract byte sequence or a load byte instruction. Normally the choice would make no difference, but it could make a BIG DIFFERENCE in the memory mapped case. In a way, I would prefer to see the use of a machine instrinsic instruction (coming soon in GNAT!) for this purpose, to make it absolutely CLEAR what is going on without hidden assumptions.