-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Closed
Labels
Description
tests.py
maps compiler options to "features", used by the libcxx test suite:
STL/tests/utils/stl/test/tests.py
Lines 234 to 241 in 4c862ee
if flag[5:] == 'c++latest': | |
self._addCustomFeature('c++2a') | |
elif flag[5:] == 'c++20': | |
self.requires.append('unsupported_potato') # TRANSITION, VS2019 Preview 16.11 | |
elif flag[5:] == 'c++17': | |
self._addCustomFeature('c++17') | |
elif flag[5:] == 'c++14': | |
self._addCustomFeature('c++14') |
The toolset update #1953 is mapping /std:c++20
to 'c++2a'
. However, it's still mapping /std:c++latest
to 'c++2a'
. This prevents libcxx's C++23 tests from running.
For example, #1950 is implementing is_scoped_enum
, but attempting to unskip its test
STL/tests/libcxx/skipped_tests.txt
Lines 278 to 279 in 4c862ee
# C++23 P1048R1 "is_scoped_enum" | |
utilities\meta\meta.unary\meta.unary.prop\is_scoped_enum.pass.cpp |
leads to it being detected as unsupported. (The test marks itself as unsupported in C++03 through C++2a inclusive, meaning it expects C++2b.)
As I recall, I initially attempted to map /std:c++latest
to 'c++2b'
in toolset update #1953, but encountered a couple of libcxx tests that weren't expecting this. This might be resolved if we update to libcxx's latest commit.