This is an unofficial snapshot of the ISO/IEC JTC1 SC22 WG21 Core Issues List revision 110b. See http://www.open-std.org/jtc1/sc22/wg21/ for the official list.

2023-01-15


1531. Definition of “access” (verb)

Section: Clause 3  [intro.defs]     Status: CD3     Submitter: Mike Miller     Date: 2012-07-27

[Moved to DR at the April, 2013 meeting.]

The verb “access” is used in various places in the Standard (see 6.7.3 [basic.life] paragraphs 5 and 6 and 7.2.1 [basic.lval] paragraph 10) but is not defined. C99 defines it as

<execution-time action> to read or modify the value of an object

(See also issue 1530.)

Proposed resolution (March, 2013):

  1. Add the following to Clause 3 [intro.defs]:

  2. access
    <execution-time action> to read or modify the value of an object
  3. Change 6.9.1 [intro.execution] paragraph 12 as follows:

  4. Accessing Reading an object designated by a volatile glvalue (7.2.1 [basic.lval]), modifying an object, calling...
  5. Change 6.9.2 [intro.multithread] paragraph 4 as follows:

  6. Two expression evaluations conflict if one of them modifies a memory location (6.7.1 [intro.memory]) and the other one accesses reads or modifies the same memory location.
  7. Change 6.9.2 [intro.multithread] paragraph 24 as follows:

  8. The implementation may assume that any thread will eventually do one of the following:

  9. Change 7.6.19 [expr.ass] paragraph 8 as follows:

  10. If the value being stored in an object is accessed from read via 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. [Note:...
[Note: this wording was reviewed during the 2013-03-25 teleconference.]