.TH "volatile" "" "" "C Keyword"
.PC "Qualify an identifier as frequently changing"
.PP
The type qualifier
.B volatile
marks an identifier as being frequently changed, either by
other portions of the program, by the hardware, by other programs in the
execution environment, or by any combination of these.
This alerts the translator to re-fetch the given
identifier whenever it encounters an expression that
includes the identifier.
In addition, an object marked as
.B volatile
must be stored at the point where an assignment to this object takes place.
.SH "See Also"
.Xr "C keyword," c_keyword
.Xr "const" const
.br
\*(AS, \(sc6.5.3
.SH Notes
Although \*(PN recognizes this keyword, the semantics are not
implemented in this release.
Thus, storage declared to be
.B volatile
might have references removed by optimizations that the compiler performs.
The compiler will generate a warning if the peephole optimizer is enabled and
the keyword
.B volatile
is detected.
