https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69494

--- Comment #2 from Lukas <deaeod at gmail dot com> ---
I was wrong about what part of the standard defines the behavior for volatile
access.
Paragraph 8 of [intro.execution] specifies that access to volatile objects is
observable behavior. Access is defined in [defns.access] as reading or
modifying the value of an object. Paragraph one of [intro.object] says that "an
object is a region of storage." Paragraph two says that objects can contain
other objects and calls the latter subobjects. Paragraph eight of [basic.types]
defines 'object type' to contain cv-qualified versions of types that are not
function types, references, or void.

According to these passages dev.tcc is both an object and a subobject. 
The standard makes no explicit mention of volatile subobjects because whether
or not an object is a subobject does not matter, at least when talking about
volatile.

Reply via email to