From: orville@weyrich.UUCP (Orville R. Weyrich)
Subject: Re: Types defining h/w r/o or w/o registers
Date: 1 Jun 91 08:34:11 GMT [thread overview]
Message-ID: <1991Jun1.083411.217@weyrich.UUCP> (raw)
In-Reply-To: 9105311025.aa04299@PARIS.ICS.UCI.EDU
In article <9105311025.aa04299@PARIS.ICS.UCI.EDU> Jose Aleman Duarte <jduarte@liege.ICS.UCI.EDU> writes:
>> Is there some way to define a type such that all variables of that
>> type can be only read or only written? For instance, I have a type that
>> defines the status register of some peripheral which can only be
>> read. It would be best if the compiler could flag any assignments
>> to variables of such a type as errors.
>
>> Is there some other means for commonly handling this problem? The
>> compiler being used is VADSWorks, if an implementation-defined solution
>> is required.
>
>Alternatively, you can define a "type" and then define a constant variable
>of that type for read only variables...
>
>subtype XYZ is INTEGER;
>NY_REG: constant XYZ := 0; -- define a variable that can only be read
>
NO NO NO!
The original poster wants to describe a memory location that can be modified
by an entity outside the control of the program. In C (and many DEC language
extensions) this would be a VOLATILE memory location. If you tell the compiler
that it is constant, the optimizer may copy the value into a register and use
the copy, or do constant folding and substitute the value 0 for the memory
reference.
Can you say BUG? :-)
-------------------------------------- ******************************
Orville R. Weyrich, Jr., Ph.D. Certified Systems Professional
Internet: orville%weyrich@uunet.uu.net Weyrich Computer Consulting
Voice: (602) 391-0821 POB 5782, Scottsdale, AZ 85261
Fax: (602) 391-0023 (Yes! I'm available)
-------------------------------------- ******************************
next prev parent reply other threads:[~1991-06-01 8:34 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
1991-05-30 13:03 Types defining h/w r/o or w/o registers Don Gardner
1991-05-31 17:03 ` david.c.willett
1991-05-31 17:10 ` david.c.willett
1991-05-31 17:26 ` J o s e D u a r t e
1991-06-01 8:34 ` Orville R. Weyrich [this message]
1991-06-01 10:01 ` Types defining h/w r/o or w/o regis stt
1991-06-02 16:54 ` Types defining h/w r/o or w/o registers rharwood
1991-06-03 7:57 ` Orville R. Weyrich
1991-06-04 14:08 ` John Goodenough
1991-06-04 14:48 ` Anthony Shipman
1991-06-05 13:59 ` John Goodenough
-- strict thread matches above, loose matches on Subject: below --
1991-06-05 18:59 John Goodenough
1991-06-06 3:02 Steven V. Case
1991-06-09 0:15 ` rharwood
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox