Skip to content

Commit

Permalink
Move <ranges> and <format> into C++20 (#2518)
Browse files Browse the repository at this point in the history
* In `<yvals_core.h>`, don't require `_HAS_CXX23` to define `__cpp_lib_format` and `__cpp_lib_ranges`. Change the feature-test macro test consistently.

* Change test matrices for all tests that touch `<ranges>` and `<format>` to run in 20 mode instead of latest-only.

* Don't use the `span` constructor added by P1989 to C++23 in `P0896R4_views_split`, which now must run in c++20 mode where that constructor is unavailable.

Fixes #1814.

* Implement `__msvc_int128.hpp` to complete WG21-P1522 and provide integer-class types `_Signed128` and `_Unsigned128` to be the distance / size types of `iota_view<64-bit integral>`.
  • Loading branch information
CaseyCarter authored Feb 7, 2022
1 parent 823dbe3 commit 53d4f93
Show file tree
Hide file tree
Showing 58 changed files with 2,526 additions and 93 deletions.
1 change: 1 addition & 0 deletions stl/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@

set(HEADERS
${CMAKE_CURRENT_LIST_DIR}/inc/__msvc_all_public_headers.hpp
${CMAKE_CURRENT_LIST_DIR}/inc/__msvc_int128.hpp
${CMAKE_CURRENT_LIST_DIR}/inc/__msvc_system_error_abi.hpp
${CMAKE_CURRENT_LIST_DIR}/inc/__msvc_tzdb.hpp
${CMAKE_CURRENT_LIST_DIR}/inc/__msvc_xlocinfo_types.hpp
Expand Down
Loading

0 comments on commit 53d4f93

Please sign in to comment.