[fpc-devel] volatile variables
Sven Barth
pascaldragon at googlemail.com
Thu Jun 30 15:42:42 CEST 2011
Am 30.06.2011 14:53, schrieb Michael Schnell:
> On 06/30/2011 11:45 AM, Jonas Maebe wrote:
>>
>> There is none. FPC has a "volatile" modifier in svn trunk, but it
>> currently only affects the node tree optimizer.
>> ...
>> Its only use is for memory mapped I/O.
> I don't suppose the node tree optimizer is memory mapped I/O ???
No, but the node tree optimizer might optimize away two consecutive
reads from or writes to a "memory mapped" variable which might be
necessary for the hardware...
e.g. (theoretical pseudo code scenario)
=== source begin ===
var
a: Integer; volatile; absolute $42;
b: Integer;
begin
b := a; // this might be necessary for the hardware, but the
optimizer will remove the first statement if it doesn't know about
"volatile"
b := a;
end;
=== source end ===
Regards,
Sven
More information about the fpc-devel
mailing list