-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
<ciso646>
is removed in C++20
#2710
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I suspect there is code in the wild building with /std:c++20 /permissive
that includes <ciso646>
to get the macro definitions of the "alternative tokens" (and
, not
, etc.) which will be broken by this, but I'm comfortable given there's an escape hatch.
tests/std/tests/VSO_0000000_instantiate_iterators_misc/test.compile.pass.cpp
Outdated
Show resolved
Hide resolved
I'm mirroring this to the MSVC-internal repo - please notify me if any further changes are pushed. |
Merged with
|
Thanks for implementing this removal and helping to modernize this part of the ecosystem! 😻 🚀 🧑🚀 |
Co-authored-by: Stephan T. Lavavej <[email protected]>
https://en.cppreference.com/w/cpp/header
<ciso646>
wasn't deprecated in C++17, this is why<ciso646>
doesn't have a similar warning like<cstdbool>
and other have.#2583 uses
STL4034
andSTL4035
so this PR is expected to be merged after 2583
llvm-project\libcxx\test\support\test_macros.h has
#include <ciso646>
. This is why we need#define _SILENCE_CXX20_CISO646_REMOVED_WARNING
forP0088R3_variant/test.cpp
,P0220R1_any/test.cpp
andP0220R1_optional/test.cpp
https://github.com/llvm/llvm-project/blob/b8d38e8b4fcab071c5c4cb698e154023d06de69e/libcxx/test/support/test_macros.h#L23