Skip to content

Commit 4858fcf

Browse files
committed
Set 4163 and 4194 to Tentatively NAD
1 parent 8846817 commit 4858fcf

File tree

2 files changed

+20
-2
lines changed

2 files changed

+20
-2
lines changed

xml/issue4163.xml

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version='1.0' encoding='utf-8' standalone='no'?>
22
<!DOCTYPE issue SYSTEM "lwg-issue.dtd">
33

4-
<issue num="4163" status="New">
4+
<issue num="4163" status="Tentatively NAD">
55
<title>Can the overload of <tt>std::num_get::do_get</tt> for <tt>bool</tt> call the overload for <tt>long</tt>?</title>
66
<section><sref ref="[facet.num.get.virtuals]"/></section>
77
<submitter>Jiang An</submitter>
@@ -25,6 +25,16 @@ Currently, libc++'s version calls that overload, while libstdc++ and MSVC STL's
2525
<p/>
2626
As the divergence implementation strategies is observable, perhaps we should clarify on this.
2727
</p>
28+
29+
<note>2025-02-07; Reflector poll: NAD</note>
30+
<p>
31+
I think this is just a libc++ bug.
32+
The wording says it "proceeds as it would for `long`", which is not the same as
33+
actually making a virtual call to `do_get` for `long`. It can either duplicate
34+
the code from `do_get` for `long`, or make a non-virtual (i.e. qualified) call
35+
to `num_get::do_get`.
36+
</p>
37+
2838
</discussion>
2939

3040
<resolution>

xml/issue4194.xml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version='1.0' encoding='utf-8' standalone='no'?>
22
<!DOCTYPE issue SYSTEM "lwg-issue.dtd">
33

4-
<issue num="4194" status="New">
4+
<issue num="4194" status="Tentatively NAD">
55
<title><tt>atomic&lt;void*&gt;</tt> should use generic class template</title>
66
<section><sref ref="[atomics.types.pointer]"/></section>
77
<submitter>Gonzalo Brito</submitter>
@@ -40,6 +40,14 @@ and the proposed fix would make them compliant: see libstdc++, libc++ and MSVC S
4040
pointer-to-object type, <tt>atomic&lt;void*&gt;</tt> uses the general template. Therefore, no user
4141
code seems to be impacted.
4242
</p>
43+
44+
<note>2025-02-07; Reflector poll: NAD</note>
45+
<p>
46+
The `fetch_OP` members have "<i>Mandates</i>: `T` is a complete object type."
47+
and a note explaining that this means arithmetic on `void*` is ill-formed.
48+
So implementations are expected to use the partial specialization for `void*`
49+
but to reject attempts at arithmetic. They all do this correctly today.
50+
</p>
4351
</discussion>
4452

4553
<resolution>

0 commit comments

Comments
 (0)