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,cdeb9be83428b637,start X-Google-Attributes: gid103376,public From: Ramesh Sadasivam Subject: Ada95: at clause - 'Address Date: 1996/10/18 Message-ID: <3267958B.41C6@erols.com>#1/1 X-Deja-AN: 190354973 cc: ramesh@eagle.bgm.link.com content-type: text/plain; charset=us-ascii organization: PSI Public Usenet Link mime-version: 1.0 newsgroups: comp.lang.ada x-mailer: Mozilla 2.02S (X11; I; IRIX 5.3 IP20) Date: 1996-10-18T00:00:00+00:00 List-Id: In Ada95 I guess the "at clause" has been replaced with the 'Address. I'm trying to port a piece of software from Ada83 to Ada95, and the "at clause" is being handled differently by the GNAT compiler. In case 1 it ignores it (I'm not sure if it will work, as I do not have the complete software compiled), and in case 2 it complains. Is there any way to get around this problem. CASE 1: ------- The complier does not complain about the following code. for TWO_INT_REC_TYPE use --% Bit-rep for 64-bit computations record at mod 8; INT1 at 0 range 0..31; --% Bit-rep for first integer of 64-bit computation INT2 at 4 range 0..31; --% Bit-rep for second integer of 64-bit computation end record; function case_one(X : in SYSTEM.ADDRESS; Y : in SYSTEM.ADDRESS) return BOOLEAN is X_REC : TWO_INT_REC_TYPE; for X_REC use at X; begin .... .... end case_one; CASE 2: ------ procedure case_two( ITEM : in SYSTEM.ADDRESS; ITEM_COUNT : POSITIVE := 1 ) is ITEM_ADDRESS : SYSTEM.ADDRESS := ITEM; begin -- LOOP through each item to be byte swapped for COUNT in 1 .. ITEM_COUNT loop -- Perform the byte swap operation SWAP: declare OLD_VALUE : EIGHT_BYTES_TYPE; NEW_VALUE : EIGHT_BYTES_TYPE; -- tried the the following two ways. Both ways are not accepted by the compiler, and do not work. for NEW_VALUE use at ITEM_ADDRESS; for NEW_VALUE'ADDRESS use ITEM_ADDRESS; begin ..... ..... end; Please respond directly to my email address (ramesh@eagle.bgm.link.com), any help/ideas appreciated. Thanks, Ramesh