Created on2013-09-27.00:00:00 last changed96 months ago
Notes from the February, 2016 meeting:
SG1 concluded that wording similar to the following should beadded:
For any actionA such that the declaration is sequenced beforeA, initialization shall happen beforeA. Theconcurrent execution shall block for completion of the initialization.
[Adopted at the February/March, 2017 meeting as document P0250R3.]
Regarding initialization of a block-scope static variable,8.10 [stmt.dcl] paragraph 4 says,
If control enters the declaration concurrently while the variable is beinginitialized, the concurrent execution shall wait for completion of theinitialization.
This specification does not use the terminology of6.10.2 [intro.multithread], so the meaning of “wait” is notclear. For example, will a concurrent thread that “waited”see (in the sense of happens-before) the result of the initialization(including side effects caused during the initialization)?
Perhaps the “synchronizes-with” terminology could beused here.
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2018-02-27 00:00:00 | admin | set | messages: +msg6159 |
| 2018-02-27 00:00:00 | admin | set | status: concurrency -> c++17 |
| 2013-09-27 00:00:00 | admin | create | |