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=-0.5 required=5.0 tests=BAYES_00,INVALID_MSGID, PP_MIME_FAKE_ASCII_TEXT autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII X-Google-Thread: 103376,e8d2c0ed82daf4da X-Google-Attributes: gid103376,public From: robert_dewar@my-dejanews.com Subject: Re: Handling Addressing Errors Date: 1999/03/04 Message-ID: <7bm0v3$933$1@nnrp1.dejanews.com>#1/1 X-Deja-AN: 451130609 References: <1999Mar3.212443.1898@nosc.mil> X-Http-Proxy: 1.0 x15.dejanews.com:80 (Squid/1.1.22) for client 205.232.38.14 Organization: Deja News - The Leader in Internet Discussion X-Article-Creation-Date: Thu Mar 04 13:14:16 1999 GMT Newsgroups: comp.lang.ada X-Http-User-Agent: Mozilla/4.04 [en] (OS/2; I) Date: 1999-03-04T00:00:00+00:00 List-Id: In article <1999Mar3.212443.1898@nosc.mil>, claveman@cod.nosc.mil (Charles H. Sampson) wrote: > This code worked for a particular version of a particular > compiler, but I see a couple of problems. The first is > that, as well as I can tell, this is a non-standard > raising of Program_error; Absolutely, this is quite non-standard. Obviously your program is erroneous and anything could happen if the address is invalid. The proper solution is to write a separate target dependent unit (in an appropriate language) that determines if an address is valid. > The second is, what prevents an optimizing compiler from > deciding that the assignment statement is unnecessary > (BOGUS is never referenced after being set) so that it > doesn�t need to access BOARD_LOCATION? Common sense and reasonable behavior! Any compiler that does not use an address clause to trigger an implicit volatility is poorly designed in my view. Of course it does not harm to put in a specific pragma Volatile, and that will most certainly solve this problem -----------== Posted via Deja News, The Discussion Network ==---------- http://www.dejanews.com/ Search, Read, Discuss, or Start Your Own