Skip to content
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

P3475R2 Deprecate memory_order::consume #5287

Open
StephanTLavavej opened this issue Feb 16, 2025 · 0 comments
Open

P3475R2 Deprecate memory_order::consume #5287

StephanTLavavej opened this issue Feb 16, 2025 · 0 comments
Labels
cxx26 C++26 feature

Comments

@StephanTLavavej
Copy link
Member

WG21-P3475R2 Deprecate memory_order::consume

Note: If this link appears to be broken, don't worry! Papers are often revised during a WG21 meeting before the final vote. When that happens, there's a delay of a few weeks between the end of the meeting and the publication of the papers. When the papers are available, the https://wg21.link redirector will start working.

This is a Core paper with Library impact, but the library changes don't depend on compiler changes.

No feature-test macro is mentioned.

Note that the outright removal of [[carries_dependency]] means that we should drop our macroization defenses in:

STL/stl/inc/xkeycheck.h

Lines 538 to 542 in d43d49a

#if defined(carries_dependency)
#define carries_dependency EMIT WARNING C4005
#error The C++ Standard Library forbids macroizing the attribute-token "carries_dependency". \
Enable warning C4005 to find the forbidden define.
#endif // carries_dependency

Note: We're focused on implementing the remaining library-only features in C++23. Until that's done, we will NOT be accepting PRs for C++26 features. (Feature-specific note: we should be able to accept a PR for this before accepting C++26 PRs generally. However, unlike C++26 papers that we've implemented unconditionally, this deprecation will actually need to be guarded by _HAS_CXX26. I updated the compiler and VCRuntime so we can distinguish C++23 from C++26, but still need to update the test matrices, which is a headache/distraction. The matrices need enough attention that I would prefer to tackle them personally.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cxx26 C++26 feature
Projects
Status: Unimplemented
Development

No branches or pull requests

1 participant