<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<TITLE>
    CWG Issue 1531</TITLE>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<STYLE TYPE="text/css">
  INS { text-decoration:none; font-weight:bold; background-color:#A0FFA0 }
  .INS { text-decoration:none; background-color:#D0FFD0 }
  DEL { text-decoration:line-through; background-color:#FFA0A0 }
  .DEL { text-decoration:line-through; background-color: #FFD0D0 }
  @media (prefers-color-scheme: dark) {
    HTML { background-color:#202020; color:#f0f0f0; }
    A { color:#5bc0ff; }
    A:visited { color:#c6a8ff; }
    A:hover, a:focus { color:#afd7ff; }
    INS { background-color:#033a16; color:#aff5b4; }
    .INS { background-color: #033a16; }
    DEL { background-color:#67060c; color:#ffdcd7; }
    .DEL { background-color:#67060c; }
  }
  SPAN.cmnt { font-family:Times; font-style:italic }
</STYLE>
</HEAD>
<BODY>
<P><EM>This is an unofficial snapshot of the ISO/IEC JTC1 SC22 WG21
  Core Issues List revision 118b.
  See http://www.open-std.org/jtc1/sc22/wg21/ for the official
  list.</EM></P>
<P>2025-09-28</P>
<HR>
<A NAME="1531"></A><H4>1531.
  
Definition of &#8220;access&#8221; (verb)
</H4>
<B>Section: </B>Clause 3&#160; [<A href="https://wg21.link/intro.defs">intro.defs</A>]
 &#160;&#160;&#160;

 <B>Status: </B>CD3
 &#160;&#160;&#160;

 <B>Submitter: </B>Mike Miller
 &#160;&#160;&#160;

 <B>Date: </B>2012-07-27<BR>


<P>[Moved to DR at the April, 2013 meeting.]</P>



<P>The verb &#8220;access&#8221; is used in various places in the
Standard (see 6.8.4 [<A href="https://wg21.link/basic.life">basic.life</A>] paragraphs 5 and 6 and
7.2.1 [<A href="https://wg21.link/basic.lval#10">basic.lval</A>] paragraph 10) but is not defined.  C99
defines it as</P>

<BLOCKQUOTE>

&lt;execution-time action&gt; to read or modify the value of an object

</BLOCKQUOTE>

<P>(See also <A HREF="1530.html">issue 1530</A>.)</P>

<P><B>Proposed resolution (March, 2013):</B></P>

<OL>
<LI><P>Add the following to Clause 3 [<A href="https://wg21.link/intro.defs">intro.defs</A>]:</P></LI>

<BLOCKQUOTE>

<INS><B>access</B></INS><BR>
<INS>&lt;execution-time action&gt; to read or modify the value of
an object</INS>

</BLOCKQUOTE>

<LI><P>Change 6.10.1 [<A href="https://wg21.link/intro.execution#12">intro.execution</A>] paragraph 12 as follows:</P></LI>

<BLOCKQUOTE>

<DEL>Accessing</DEL> <INS>Reading</INS> an object designated
by a volatile glvalue (7.2.1 [<A href="https://wg21.link/basic.lval">basic.lval</A>]), modifying
an object, calling...

</BLOCKQUOTE>

<LI><P>Change 6.10.2 [<A href="https://wg21.link/intro.multithread#4">intro.multithread</A>] paragraph 4 as follows:</P></LI>

<BLOCKQUOTE>

Two expression evaluations <I>conflict</I> if one of them
modifies a memory location (6.8.1 [<A href="https://wg21.link/intro.memory">intro.memory</A>]) and
the other one <DEL>accesses</DEL> <INS>reads</INS> or
modifies the same memory location.

</BLOCKQUOTE>

<LI><P>Change 6.10.2 [<A href="https://wg21.link/intro.multithread#24">intro.multithread</A>] paragraph 24 as follows:</P></LI>

<BLOCKQUOTE>

<P>The implementation may assume that any thread will
eventually do one of the following:</P>

<UL>
<LI><P>...</P></LI>

<LI><P>
<DEL>access</DEL> <INS>read</INS> or modify a
volatile object, or</P></LI>

<LI><P>...</P></LI>

</UL>

</BLOCKQUOTE>

<LI><P>Change 7.6.19 [<A href="https://wg21.link/expr.assign#8">expr.assign</A>] paragraph 8 as follows:</P></LI>

<BLOCKQUOTE>

If the value being stored in an object is <DEL>accessed
from</DEL> <INS>read via</INS> another object that overlaps
in any way the storage of the first object, then the overlap
shall be exact and the two objects shall have the same type,
otherwise the behavior is undefined. [<I>Note:</I>...

</BLOCKQUOTE>

</OL>

<I>[Note: this wording was reviewed during the 2013-03-25
teleconference.]</I>

<BR><BR>
</BODY>
</HTML>
