Skip to content

Commit 6fd3389

Browse files
author
github-actions
committed
Automatic update from GitHub Actions workflow
1 parent f4fbb38 commit 6fd3389

32 files changed

+1377
-1005
lines changed

issue3508.html

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<meta charset="utf-8">
55
<title>Issue 3508: atomic_ref&lt;cv T&gt; is not well-specified</title>
66
<meta property="og:title" content="Issue 3508: atomic_ref&lt;cv T&gt; is not well-specified">
7-
<meta property="og:description" content="C++ library issue. Status: Open">
7+
<meta property="og:description" content="C++ library issue. Status: Resolved">
88
<meta property="og:url" content="https://cplusplus.github.io/LWG/issue3508.html">
99
<meta property="og:type" content="website">
1010
<meta property="og:image" content="http://cplusplus.github.io/LWG/images/cpp_logo.png">
@@ -61,13 +61,13 @@
6161
</head>
6262
<body>
6363
<hr>
64-
<p><em>This page is a snapshot from the LWG issues list, see the <a href="lwg-active.html">Library Active Issues List</a> for more information and the meaning of <a href="lwg-active.html#Open">Open</a> status.</em></p>
65-
<h3 id="3508"><a href="lwg-active.html#3508">3508</a>. <code>atomic_ref&lt;<i>cv</i> T&gt;</code> is not well-specified</h3>
66-
<p><b>Section:</b> 32.5.7.1 <a href="https://wg21.link/atomics.ref.generic.general">[atomics.ref.generic.general]</a> <b>Status:</b> <a href="lwg-active.html#Open">Open</a>
67-
<b>Submitter:</b> Casey Carter <b>Opened:</b> 2020-12-02 <b>Last modified:</b> 2024-06-28</p>
64+
<p><em>This page is a snapshot from the LWG issues list, see the <a href="lwg-active.html">Library Active Issues List</a> for more information and the meaning of <a href="lwg-active.html#Resolved">Resolved</a> status.</em></p>
65+
<h3 id="3508"><a href="lwg-defects.html#3508">3508</a>. <code>atomic_ref&lt;<i>cv</i> T&gt;</code> is not well-specified</h3>
66+
<p><b>Section:</b> 32.5.7.1 <a href="https://wg21.link/atomics.ref.generic.general">[atomics.ref.generic.general]</a> <b>Status:</b> <a href="lwg-active.html#Resolved">Resolved</a>
67+
<b>Submitter:</b> Casey Carter <b>Opened:</b> 2020-12-02 <b>Last modified:</b> 2025-02-07</p>
6868
<p><b>Priority: </b>2
6969
</p>
70-
<p><b>View all issues with</b> <a href="lwg-status.html#Open">Open</a> status.</p>
70+
<p><b>View all issues with</b> <a href="lwg-status.html#Resolved">Resolved</a> status.</p>
7171
<p><b>Discussion:</b></p>
7272
<p>
7373
<code>atomic_ref&lt;T&gt;</code> requires only that its template parameter <code>T</code> is trivially copyable,
@@ -104,16 +104,20 @@ <h3 id="3508"><a href="lwg-active.html#3508">3508</a>. <code>atomic_ref&lt;<i>cv
104104
Set priority to 2 during reflector discussions.
105105
</p>
106106

107-
<p><i>[2024-06; Related to issue <a href="lwg-active.html#4069" title="std::atomic&lt;volatile T&gt; should be ill-formed (Status: Open)">4069</a><sup><a href="https://cplusplus.github.io/LWG/issue4069" title="Latest snapshot">(i)</a></sup>.]</i></p>
107+
<p><i>[2024-06; Related to issue <a href="lwg-defects.html#4069" title="std::atomic&lt;volatile T&gt; should be ill-formed (Status: Resolved)">4069</a><sup><a href="https://cplusplus.github.io/LWG/issue4069" title="Latest snapshot">(i)</a></sup>.]</i></p>
108108

109109

110110
<p><i>[St. Louis 2024-06-28; SG1 feedback]</i></p>
111111

112112
<p>
113113
SG1 forwarded <a href="https://wg21.link/P3323R0" title=" cv-qualified types in atomic and atomic_ref">P3323R0</a> to LEWG to resolve LWG issues
114-
<a href="lwg-active.html#3508" title="atomic_ref&lt;cv T&gt; is not well-specified (Status: Open)">3508</a><sup><a href="https://cplusplus.github.io/LWG/issue3508" title="Latest snapshot">(i)</a></sup> and <a href="lwg-active.html#4069" title="std::atomic&lt;volatile T&gt; should be ill-formed (Status: Open)">4069</a><sup><a href="https://cplusplus.github.io/LWG/issue4069" title="Latest snapshot">(i)</a></sup>.
114+
<a href="lwg-defects.html#3508" title="atomic_ref&lt;cv T&gt; is not well-specified (Status: Resolved)">3508</a><sup><a href="https://cplusplus.github.io/LWG/issue3508" title="Latest snapshot">(i)</a></sup> and <a href="lwg-defects.html#4069" title="std::atomic&lt;volatile T&gt; should be ill-formed (Status: Resolved)">4069</a><sup><a href="https://cplusplus.github.io/LWG/issue4069" title="Latest snapshot">(i)</a></sup>.
115115
</p>
116116

117+
<p><i>[2025-02-07 Status changed: Open &rarr; Resolved.]</i></p>
118+
119+
<p>Resolved by <a href="https://wg21.link/P3323R0" title=" cv-qualified types in atomic and atomic_ref">P3323R0</a> in Wrocław.</p>
120+
117121

118122

119123
<p id="res-3508"><b>Proposed resolution:</b></p>

issue4069.html

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<meta charset="utf-8">
55
<title>Issue 4069: std::atomic&lt;volatile T&gt; should be ill-formed</title>
66
<meta property="og:title" content="Issue 4069: std::atomic&lt;volatile T&gt; should be ill-formed">
7-
<meta property="og:description" content="C++ library issue. Status: Open">
7+
<meta property="og:description" content="C++ library issue. Status: Resolved">
88
<meta property="og:url" content="https://cplusplus.github.io/LWG/issue4069.html">
99
<meta property="og:type" content="website">
1010
<meta property="og:image" content="http://cplusplus.github.io/LWG/images/cpp_logo.png">
@@ -61,14 +61,14 @@
6161
</head>
6262
<body>
6363
<hr>
64-
<p><em>This page is a snapshot from the LWG issues list, see the <a href="lwg-active.html">Library Active Issues List</a> for more information and the meaning of <a href="lwg-active.html#Open">Open</a> status.</em></p>
65-
<h3 id="4069"><a href="lwg-active.html#4069">4069</a>. <code>std::atomic&lt;volatile T&gt;</code> should be ill-formed</h3>
66-
<p><b>Section:</b> 32.5.8 <a href="https://wg21.link/atomics.types.generic">[atomics.types.generic]</a> <b>Status:</b> <a href="lwg-active.html#Open">Open</a>
67-
<b>Submitter:</b> Jonathan Wakely <b>Opened:</b> 2024-04-19 <b>Last modified:</b> 2024-06-28</p>
64+
<p><em>This page is a snapshot from the LWG issues list, see the <a href="lwg-active.html">Library Active Issues List</a> for more information and the meaning of <a href="lwg-active.html#Resolved">Resolved</a> status.</em></p>
65+
<h3 id="4069"><a href="lwg-defects.html#4069">4069</a>. <code>std::atomic&lt;volatile T&gt;</code> should be ill-formed</h3>
66+
<p><b>Section:</b> 32.5.8 <a href="https://wg21.link/atomics.types.generic">[atomics.types.generic]</a> <b>Status:</b> <a href="lwg-active.html#Resolved">Resolved</a>
67+
<b>Submitter:</b> Jonathan Wakely <b>Opened:</b> 2024-04-19 <b>Last modified:</b> 2025-02-07</p>
6868
<p><b>Priority: </b>2
6969
</p>
7070
<p><b>View all other</b> <a href="lwg-index.html#atomics.types.generic">issues</a> in [atomics.types.generic].</p>
71-
<p><b>View all issues with</b> <a href="lwg-status.html#Open">Open</a> status.</p>
71+
<p><b>View all issues with</b> <a href="lwg-status.html#Resolved">Resolved</a> status.</p>
7272
<p><b>Discussion:</b></p>
7373
<p>
7474
As a result of <a href="https://wg21.link/cwg2094" title="2094. Trivial copy/move constructor for class with volatile member. Status: C++17">Core DR 2094</a>
@@ -113,16 +113,20 @@ <h3 id="4069"><a href="lwg-active.html#4069">4069</a>. <code>std::atomic&lt;vola
113113
Set priority to 2 after reflector poll and send to SG1.
114114
</p>
115115

116-
<p><i>[2024-06; Related to issue <a href="lwg-active.html#3508" title="atomic_ref&lt;cv T&gt; is not well-specified (Status: Open)">3508</a><sup><a href="https://cplusplus.github.io/LWG/issue3508" title="Latest snapshot">(i)</a></sup>.]</i></p>
116+
<p><i>[2024-06; Related to issue <a href="lwg-defects.html#3508" title="atomic_ref&lt;cv T&gt; is not well-specified (Status: Resolved)">3508</a><sup><a href="https://cplusplus.github.io/LWG/issue3508" title="Latest snapshot">(i)</a></sup>.]</i></p>
117117

118118

119119
<p><i>[St. Louis 2024-06-28; SG1 feedback]</i></p>
120120

121121
<p>
122122
SG1 forwarded <a href="https://wg21.link/P3323R0" title=" cv-qualified types in atomic and atomic_ref">P3323R0</a> to LEWG to resolve LWG issues
123-
<a href="lwg-active.html#3508" title="atomic_ref&lt;cv T&gt; is not well-specified (Status: Open)">3508</a><sup><a href="https://cplusplus.github.io/LWG/issue3508" title="Latest snapshot">(i)</a></sup> and <a href="lwg-active.html#4069" title="std::atomic&lt;volatile T&gt; should be ill-formed (Status: Open)">4069</a><sup><a href="https://cplusplus.github.io/LWG/issue4069" title="Latest snapshot">(i)</a></sup>.
123+
<a href="lwg-defects.html#3508" title="atomic_ref&lt;cv T&gt; is not well-specified (Status: Resolved)">3508</a><sup><a href="https://cplusplus.github.io/LWG/issue3508" title="Latest snapshot">(i)</a></sup> and <a href="lwg-defects.html#4069" title="std::atomic&lt;volatile T&gt; should be ill-formed (Status: Resolved)">4069</a><sup><a href="https://cplusplus.github.io/LWG/issue4069" title="Latest snapshot">(i)</a></sup>.
124124
</p>
125125

126+
<p><i>[2025-02-07 Status changed: Open &rarr; Resolved.]</i></p>
127+
128+
<p>Resolved by <a href="https://wg21.link/P3323R0" title=" cv-qualified types in atomic and atomic_ref">P3323R0</a> in Wrocław.</p>
129+
126130

127131

128132
<p id="res-4069"><b>Proposed resolution:</b></p>

issue4173.html

Lines changed: 32 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,8 @@
6464
<p><em>This page is a snapshot from the LWG issues list, see the <a href="lwg-active.html">Library Active Issues List</a> for more information and the meaning of <a href="lwg-active.html#New">New</a> status.</em></p>
6565
<h3 id="4173"><a href="lwg-active.html#4173">4173</a>. Better term for "references, pointers and iterators to elements"</h3>
6666
<p><b>Section:</b> 23 <a href="https://wg21.link/containers">[containers]</a> <b>Status:</b> <a href="lwg-active.html#New">New</a>
67-
<b>Submitter:</b> Jonathan Wakely <b>Opened:</b> 2024-11-21 <b>Last modified:</b> 2024-11-21</p>
68-
<p><b>Priority: </b>Not Prioritized
67+
<b>Submitter:</b> Jonathan Wakely <b>Opened:</b> 2024-11-21 <b>Last modified:</b> 2025-02-07</p>
68+
<p><b>Priority: </b>4
6969
</p>
7070
<p><b>View other</b> <a href="lwg-index-open.html#containers">active issues</a> in [containers].</p>
7171
<p><b>View all other</b> <a href="lwg-index.html#containers">issues</a> in [containers].</p>
@@ -82,6 +82,36 @@ <h3 id="4173"><a href="lwg-active.html#4173">4173</a>. Better term for "referenc
8282
which would <i>not</i> be invalidated when the underlying storage changes.
8383
</p>
8484

85+
<p><i>[2025-02-07; Reflector poll]</i></p>
86+
87+
<p>
88+
Set priority to 4 after reflector poll.
89+
</p>
90+
<p>
91+
"Maybe 'pointer to elements' or a longer phrase that includes the verb
92+
'invalidates', which has special meaning in this section."
93+
</p>
94+
<p>
95+
"Note that there are cases where we invalidate iterators but not pointers/references."
96+
</p>
97+
<p>
98+
"Maybe define 'addresses' to mean 'pointers and references' since they're
99+
always invalidated at the same time, but iterators are sometimes separate."
100+
</p>
101+
<p>
102+
"Referential element accessors"
103+
</p>
104+
<p>
105+
"Define 'pointer-invalidating' (for both pointers and references) and
106+
'iterator-invalidating', and say that the former always implies the latter.
107+
Maybe also introduce antonyms 'pointer-preserving' and 'iterator-preserving'."
108+
</p>
109+
<p>
110+
"Should be defined in terms of affected elements, e.g.
111+
'pointer-invalidating for any erased elements'."
112+
</p>
113+
114+
85115

86116
<p id="res-4173"><b>Proposed resolution:</b></p>
87117
<p>

issue4174.html

Lines changed: 66 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<meta charset="utf-8">
55
<title>Issue 4174: How does [atomics.order] p3 apply when then modification is an initialization?</title>
66
<meta property="og:title" content="Issue 4174: How does [atomics.order] p3 apply when then modification is an initialization?">
7-
<meta property="og:description" content="C++ library issue. Status: New">
7+
<meta property="og:description" content="C++ library issue. Status: SG1">
88
<meta property="og:url" content="https://cplusplus.github.io/LWG/issue4174.html">
99
<meta property="og:type" content="website">
1010
<meta property="og:image" content="http://cplusplus.github.io/LWG/images/cpp_logo.png">
@@ -61,15 +61,15 @@
6161
</head>
6262
<body>
6363
<hr>
64-
<p><em>This page is a snapshot from the LWG issues list, see the <a href="lwg-active.html">Library Active Issues List</a> for more information and the meaning of <a href="lwg-active.html#New">New</a> status.</em></p>
64+
<p><em>This page is a snapshot from the LWG issues list, see the <a href="lwg-active.html">Library Active Issues List</a> for more information and the meaning of <a href="lwg-active.html#SG1">SG1</a> status.</em></p>
6565
<h3 id="4174"><a href="lwg-active.html#4174">4174</a>. How does [atomics.order] p3 apply when then modification is an initialization?</h3>
66-
<p><b>Section:</b> 32.5.4 <a href="https://wg21.link/atomics.order">[atomics.order]</a> <b>Status:</b> <a href="lwg-active.html#New">New</a>
67-
<b>Submitter:</b> jim x <b>Opened:</b> 2024-11-13 <b>Last modified:</b> 2024-11-24</p>
68-
<p><b>Priority: </b>Not Prioritized
66+
<p><b>Section:</b> 32.5.4 <a href="https://wg21.link/atomics.order">[atomics.order]</a> <b>Status:</b> <a href="lwg-active.html#SG1">SG1</a>
67+
<b>Submitter:</b> jim x <b>Opened:</b> 2024-11-13 <b>Last modified:</b> 2025-02-07</p>
68+
<p><b>Priority: </b>3
6969
</p>
7070
<p><b>View other</b> <a href="lwg-index-open.html#atomics.order">active issues</a> in [atomics.order].</p>
7171
<p><b>View all other</b> <a href="lwg-index.html#atomics.order">issues</a> in [atomics.order].</p>
72-
<p><b>View all issues with</b> <a href="lwg-status.html#New">New</a> status.</p>
72+
<p><b>View all issues with</b> <a href="lwg-status.html#SG1">SG1</a> status.</p>
7373
<p><b>Discussion:</b></p>
7474
<p>
7575
Consider this example
@@ -109,6 +109,66 @@ <h3 id="4174"><a href="lwg-active.html#4174">4174</a>. How does [atomics.order]
109109
the store operation in the single total order <i>S</i>?
110110
</p>
111111

112+
<p><i>[2025-02-07; Reflector poll]</i></p>
113+
114+
<p>
115+
Set priority to 3 after reflector poll. Send to SG1.
116+
</p>
117+
<p>
118+
LWG found the issue unclear and felt it was missing context that would
119+
help understand it properly.
120+
</p>
121+
<p>
122+
In
123+
<a href="https://github.com/cplusplus/CWG/issues/641">cplusplus/CWG/issues/641</a>
124+
the following example was given:
125+
<blockquote>
126+
<pre>
127+
std::atomic&lt;bool&gt; a = false;
128+
std::atomic&lt;bool&gt; b = false;
129+
int v = 0;
130+
// thread 1:
131+
a.store(true, seq_cst);
132+
if(b.load(seq_cst)== false){
133+
v = 1; // #1
134+
}
135+
//thread 2:
136+
b.store(true, seq_cst);
137+
if(a.load(seq_cst)== false){
138+
v = 2; // #2
139+
}
140+
</pre>
141+
To prove whether #1 and #2 can have data race, we should prove whether
142+
it's possible that <code class='backtick'>a</code> and <code class='backtick'>b</code> simultaneously read <code class='backtick'>false</code>.
143+
This proof equals whether there can be a valid single total order in this case.
144+
To determine the order of <code class='backtick'>b.load</code> and <code class='backtick'>b.store</code> when <code class='backtick'>b.load</code> reads
145+
the initialization value <code class='backtick'>false</code>, 32.5.4 <a href="https://wg21.link/atomics.order">[atomics.order]</a> p3.3
146+
should apply here.
147+
However, the initialization is not an atomic modification
148+
such that <code class='backtick'>X</code> cannot be that value.
149+
</blockquote>
150+
</p>
151+
152+
<p>
153+
A possible fix is to amend 32.5.4 <a href="https://wg21.link/atomics.order">[atomics.order]</a>/3.3 to say something
154+
like this:
155+
<blockquote>
156+
(3.3) A and B are not the same atomic read-modify-write operation, and
157+
<ins>either</ins>
158+
<ol style="list-style-type: none">
159+
<li><ins>(3.3.1)</ins>
160+
there exists an atomic modification X of M such that A reads
161+
the value stored by X and X precedes B in the modification order of M<ins>,
162+
or</ins>
163+
</li>
164+
<li><ins>(3.3.2)
165+
A reads the initial value of X and B modifies M</ins>, or
166+
</li>
167+
</ol>
168+
</blockquote>
169+
</p>
170+
171+
112172

113173
<p id="res-4174"><b>Proposed resolution:</b></p>
114174
<p>

issue4176.html

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,8 @@
6464
<p><em>This page is a snapshot from the LWG issues list, see the <a href="lwg-active.html">Library Active Issues List</a> for more information and the meaning of <a href="lwg-active.html#New">New</a> status.</em></p>
6565
<h3 id="4176"><a href="lwg-active.html#4176">4176</a>. Refer back to container requirements when extending them</h3>
6666
<p><b>Section:</b> 23 <a href="https://wg21.link/containers">[containers]</a> <b>Status:</b> <a href="lwg-active.html#New">New</a>
67-
<b>Submitter:</b> Jonathan Wakely <b>Opened:</b> 2024-11-22 <b>Last modified:</b> 2024-11-25</p>
68-
<p><b>Priority: </b>Not Prioritized
67+
<b>Submitter:</b> Jonathan Wakely <b>Opened:</b> 2024-11-22 <b>Last modified:</b> 2025-02-07</p>
68+
<p><b>Priority: </b>4
6969
</p>
7070
<p><b>View other</b> <a href="lwg-index-open.html#containers">active issues</a> in [containers].</p>
7171
<p><b>View all other</b> <a href="lwg-index.html#containers">issues</a> in [containers].</p>
@@ -87,6 +87,13 @@ <h3 id="4176"><a href="lwg-active.html#4176">4176</a>. Refer back to container r
8787
23.2.4 <a href="https://wg21.link/sequence.reqmts">[sequence.reqmts]</a>.
8888
</p>
8989

90+
<p><i>[2025-02-07; Reflector poll]</i></p>
91+
92+
<p>
93+
Set priority to 4 after reflector poll.
94+
</p>
95+
96+
9097

9198
<p id="res-4176"><b>Proposed resolution:</b></p>
9299
<p>

0 commit comments

Comments
 (0)