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

2024-03-20


1050. Effects of thread support on object lifetime

Section: 6.7.3  [basic.life]     Status: NAD     Submitter: Hans Boehm     Date: 2010-03-11

6.7.3 [basic.life] was never adjusted for threads. In particular, it describes what may be done with objects in various intervals. In general when the Standard uses words like “during,” it is referring to intervals defined by “sequenced before” ordering. In this context, however, all the specifications need to use the “happens before” ordering.

Suggested resolution:

Add the following at the beginning of 6.7.3 [basic.life]:

All statements about the ordering of evaluations in this section, using words like “before,” “after,” and “during,” refer to the “happens before” order defined in 6.9.2 [intro.multithread]. [Note: We ignore situations in which evaluations are unordered by “happens before,” since these require a data race (6.9.2 [intro.multithread]), which already results in undefined behavior. —end note]

Rationale (August, 1020):

The text is already in the FCD.