Skip to content

P3348R4 C++26 should refer to C23 not C17 #8011

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

jensmaurer
Copy link
Member

Avoid lone subclause [depr.ctime] in Annex D.

Fixes #7940.
Fixes cplusplus/papers#2020

Avoid lone subclause [depr.ctime] in Annex D.
@jensmaurer jensmaurer force-pushed the motions-2025-06-lwg-3 branch from b079059 to 73448ea Compare June 24, 2025 20:35
Comment on lines 13240 to +13241
#define @\libmacro{WEOF}@ @\seebelow@ // freestanding
#define @\libmacro{WCHAR_WIDTH}@ @\seebelow@ // freestanding
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
#define @\libmacro{WEOF}@ @\seebelow@ // freestanding
#define @\libmacro{WCHAR_WIDTH}@ @\seebelow@ // freestanding
#define @\libmacro{WCHAR_WIDTH}@ @\seebelow@ // freestanding
#define @\libmacro{WEOF}@ @\seebelow@ // freestanding

The paper wants a different order for these macros.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In [cstdint.syn] WCHAR_WIDTH comes immediately after WCHAR_MAX, because there's no WEOF in [cstdint.syn]. That's why I put it before WEOF here. It's not important though, certainly editorial.

@@ -11658,7 +11667,7 @@
\end{footnote}

\pnum
The functions \tcode{asctime}, \tcode{ctime}, \tcode{gmtime}, and
The functions \tcode{gmtime} and
\tcode{localtime} are not required to avoid data
races\iref{res.on.data.races}.

Copy link
Member

@Eisenwave Eisenwave Jul 11, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Right below, there is a missing change (GitHub won't let me comment on that line):

-\xrefc{7.27}
+\xrefc{7.29}

Comment on lines +236 to +238
In addition to being available via inclusion of the \libheader{cfloat} header,
the macros \tcode{INFINITY} and \tcode{NAN} are
available when \libheaderref{cmath} is included.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Out of curiosity, why is it \libheader{cfloat} but \libheaderref{cmath}?

@@ -762,6 +777,21 @@
Equivalent to: \tcode{return visit(std::forward<Visitor>(vis), arg.value);}
\end{itemdescr}

\rSec1[depr.ctime]{Deprecated time formatting}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The paper titles this subclause

Header <ctime> synopsis

I assume the change is intentional?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No the paper has "D.? Deprecated [depr.ctime]" and then "D.?.? Header synopsis [depr.ctime.syn]". As noted in the commit msg, the D.?.? subclause has been dissolved, so there's only D.? here, so strictly speaking the paper titled it "Deprecated".

"Deprecated" is a terrible name (I think I meant to write something there and apparently forgot). And "Header synopsis" only made sense for an rSec2 title, not the rSec1 title. So this change seems necessary.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[2025-06 LWG Motion 3] P3348R4 C++26 should refer to C23 not C17 P3348 R3 C++26 should refer to C23 not C17
3 participants