This is an archive of the discontinued LLVM Phabricator instance.

[libc++] Undeprecate ATOMIC_FLAG_INIT (LWG3659)
ClosedPublic

Authored by tambre on Jul 8 2022, 9:41 AM.

Details

Summary

According to @aaron.ballman this was marked Tentatively Ready as of 2022-07-07.
D129362 implemented the C counterpart.

Diff Detail

Event Timeline

tambre created this revision.Jul 8 2022, 9:41 AM
Herald added a project: Restricted Project. · View Herald TranscriptJul 8 2022, 9:41 AM
tambre requested review of this revision.Jul 8 2022, 9:41 AM
Herald added a project: Restricted Project. · View Herald TranscriptJul 8 2022, 9:41 AM
Herald added a reviewer: Restricted Project. · View Herald Transcript
philnik requested changes to this revision.Jul 8 2022, 9:49 AM
philnik added a subscriber: philnik.

Please wait until the LWG issue has been accepted.

libcxx/docs/ReleaseNotes.rst
50

We currently don't release-note LWG issues. I don't know if it would make sense to do so. We only started release-noting papers in this release cycle.

libcxx/docs/Status/Cxx2bIssues.csv
159

This wasn't accepted in February 2022. You also forgot to update the number.

This revision now requires changes to proceed.Jul 8 2022, 9:49 AM
tambre updated this revision to Diff 443274.Jul 8 2022, 9:58 AM

Address review comments

Please wait until the LWG issue has been accepted.

To be clear on the status: LWG has accepted this as tentatively ready, but there is a short window for people to object to that status which would pull the issue back into needing committee discussion. Given the subject matter, it'd be quite surprising if anyone did so, and so this is expected to go into C++23 (and should be treated as DR against C++20).

I'm not certain of libc++'s schedule, but I'm hoping to land the C changes in Clang shortly so that they make it into Clang 15 in an effort to limit user confusion (Clang 14 shipped with the diagnostic enabled).

tambre marked 2 inline comments as done.Jul 8 2022, 10:02 AM
tambre added inline comments.
libcxx/docs/ReleaseNotes.rst
50

I'd say such fixes seem noteworthy enough. This is definitely a smaller one, but I'm keeping it for now unless someone else weighs in.

libcxx/docs/Status/Cxx2bIssues.csv
159

Done, thanks.

Please wait until the LWG issue has been accepted.

To be clear on the status: LWG has accepted this as tentatively ready, but there is a short window for people to object to that status which would pull the issue back into needing committee discussion. Given the subject matter, it'd be quite surprising if anyone did so, and so this is expected to go into C++23 (and should be treated as DR against C++20).

I'm not certain of libc++'s schedule, but I'm hoping to land the C changes in Clang shortly so that they make it into Clang 15 in an effort to limit user confusion (Clang 14 shipped with the diagnostic enabled).

Thanks for the additional information. The libc++ policy is not to implement LWG-issue before they are voted in at a plenary, but we make exceptions when needed.
When this gets accepted in the next plenary we definitely should ship this in LLVM 15, however that doesn't mean we need land it before the branching happens, there still time afterwards see
https://discourse.llvm.org/t/llvm-15-0-0-release-schedule/63495/7 and
https://discourse.llvm.org/t/llvm-15-0-0-release-schedule/63495/9

Based on @aaron.ballman's comment I'm in favour to land this after the review comments have been addressed. In the unexpected case it doesn't get voted is we can revert the change.
@ldionne how do you feel about landing this before it's voted in at the next plenary?

libcxx/docs/ReleaseNotes.rst
50

I've no strong opinion whether or not to add it. I don't think we need to list all LWG issues, since some of the are not really "user visible", but this one is.

libcxx/docs/Status/Cxx2bIssues.csv
159

The issues on this page are group by the plenary where they were accepted. Please move this to the bottom of the proper place for the July 2022 plenary.

159

I would like to see an update the note for P0883 with information regarding this LWG issue.

tambre updated this revision to Diff 443499.Jul 10 2022, 6:15 AM
tambre marked 2 inline comments as done.

Address review comments

tambre marked 3 inline comments as done.Jul 10 2022, 6:17 AM
tambre added inline comments.
libcxx/docs/Status/Cxx2bIssues.csv
159

Done. Added the note to the P0883's line on the C++20 status page. Hopefully that's what you intended.

Mordante accepted this revision as: Mordante.Jul 11 2022, 1:06 PM

LGTM modulo one nit. I leave the final approval for @ldionne to land this before the issue is voted in.

libcxx/docs/Status/Cxx20.rst
50 ↗(On Diff #443499)
libcxx/docs/Status/Cxx2bIssues.csv
159

Yes that's what I intended.

tambre updated this revision to Diff 443740.Jul 11 2022, 1:29 PM
tambre marked an inline comment as done.

Address nit

tambre marked an inline comment as done.Jul 11 2022, 1:30 PM
tambre marked an inline comment as done.
ldionne accepted this revision.Jul 11 2022, 3:42 PM

I am fine with landing this even though the LWG issue hasn't been voted in officially. We normally don't do that too often, however I think this is a good case to make an exception since this is pretty user-visible.

This revision was not accepted when it landed; it landed in state Needs Review.Jul 11 2022, 10:00 PM
This revision was automatically updated to reflect the committed changes.