Граф коммитов

1165 Коммитов

Автор SHA1 Сообщение Дата
Alikhalesi a4dc8a7110
<yvals_core.h>: Update _MSVC_STL_UPDATE to July 2022 (#2840) 2022-07-11 17:05:32 -07:00
Charlie Barto 51c24c4024
Fix chrono printing for durations with extremely small periods (#2814)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2022-07-11 16:45:21 -07:00
Stephan T. Lavavej c34f24920e
`<tuple>`: Overhaul `tuple_cat()` for simplicity and less special-casing (#2833)
Co-authored-by: ArtemSarmini <16746066+ArtemSarmini@users.noreply.github.com>
2022-06-30 19:31:30 -07:00
Stephan T. Lavavej 020aad2e08
Move machinery from `inc/ymath.h` to `src/xmath.hpp` (#2828) 2022-06-30 19:28:13 -07:00
Alex Guteniev e619743ae4
Extend range of min max optimization (#2825) 2022-06-30 19:23:44 -07:00
Igor Zhukov 0e29ddb576
workaround for std::source_location::current() (#2824) 2022-06-30 19:19:26 -07:00
Rose ff97e90abb
Refactor Filesystem Code for Clarity (#2766)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
Co-authored-by: nicole mazzuca <83086508+strega-nil-ms@users.noreply.github.com>
2022-06-30 18:58:38 -07:00
Igor Zhukov 600f25753c
`syserror.cpp`: update `_Syserror_map` (#2742) 2022-06-30 18:48:17 -07:00
Alex Guteniev 1f37fe7a66
Hasta la Vista (#2317)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2022-06-30 18:32:19 -07:00
Igor Zhukov 4583065cb9
`xloctime`: `do_put` shouldn't modify errno on success (#2049)
Co-authored-by: Stephan T. Lavavej <stl@microsoft.com>
2022-06-30 18:26:07 -07:00
Alex Guteniev be74e53d83
New BOOL rules (#2815) 2022-06-25 15:28:48 -07:00
Stephan T. Lavavej bb71d6c5da
P0849R8 `auto(x)`: `decay-copy` In The Language (#2808) 2022-06-25 15:10:22 -07:00
Igor Zhukov 5c2d2ad545
add default ctor for node types (#2782)
Co-authored-by: A. Jiang <de34@live.cn>
Co-authored-by: Casey Carter <Casey@Carter.net>
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2022-06-25 14:50:00 -07:00
Stephan T. Lavavej ee43e7097e
My Little Operator: Friendship Is Magic (#2797) 2022-06-19 18:01:39 -07:00
Stephan T. Lavavej 6b0d0fb51b
Use conditional `explicit` unconditionally (#2796) 2022-06-19 17:55:49 -07:00
S. B. Tam 34c9a73e9f
Implement P2441R2 views::join_with (#2619)
Co-authored-by: Michael Schellenberger Costa <mschellenbergercosta@gmail.com>
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
Co-authored-by: Casey Carter <Casey@Carter.net>
2022-06-19 17:52:03 -07:00
Igor Zhukov 8e5d0aa8b8
Recalculate lerp if we got infinity. Eliminates some overflows. (#1918)
Co-authored-by: Adam Bucior <35536269+AdamBucior@users.noreply.github.com>
Co-authored-by: Alexander Bolz <lt.morris.schaffer@googlemail.com>
Co-authored-by: Curtis J Bezault <curtbezault@gmail.com>
Co-authored-by: Matt Stephanson <stephanson.matt@gmail.com>
Co-authored-by: Michael Schellenberger Costa <mschellenbergercosta@googlemail.com>
Co-authored-by: statementreply <statementreply@gmail.com>
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2022-06-19 17:46:08 -07:00
Stephan T. Lavavej d047fb3fa4
Various header cleanups (#2802) 2022-06-19 17:42:13 -07:00
Stephan T. Lavavej 06e0755c74
P1328R1 `constexpr` `type_info::operator==()` (#2793) 2022-06-19 17:19:57 -07:00
statementreply d013afe78b
Fix leap second validation when parsing `time_point`s (#2705)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
Co-authored-by: Nicole Mazzuca <mazzucan@outlook.com>
2022-06-19 17:07:53 -07:00
Igor Zhukov 3f203cb0d9
change SFINAE constraint on `construct_at` (MSVC workaround) (#2624)
Co-authored-by: A. Jiang <de34@live.cn>
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2022-06-19 16:48:59 -07:00
Alex Guteniev 78cd43610e
Implement vectorized min_ / max_element for ints (#2447)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2022-06-19 16:37:18 -07:00
DailyShana e093bb13da
<filesystem>: Avoid additional allocations in path::lexically_relative (#1915)
Co-authored-by: Nicole Mazzuca <mazzucan@outlook.com>
2022-06-19 16:29:46 -07:00
Michael Schellenberger Costa 1ea95df4d4
Implement SSO for constexpr string (#1735)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
Co-authored-by: Casey Carter <Casey@Carter.net>
2022-06-19 16:21:45 -07:00
Hamid Reza Arzaghi ca977f06bf
<filesystem>: `directory_entry(const path&, error_code&)` should return error code (#1343)
Co-authored-by: Stephan T. Lavavej <stl@microsoft.com>
Co-authored-by: nicole mazzuca <83086508+strega-nil-ms@users.noreply.github.com>
2022-06-19 16:03:37 -07:00
Stephan T. Lavavej ea32e86dee
Mark constants as `_INLINE_VAR constexpr`. (#2792) 2022-06-15 18:35:17 -07:00
Casey Carter 5419d49ee3
Don't deallocate nullptr in _Hash_vec::_Tidy (#2790)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2022-06-15 18:27:55 -07:00
Igor Zhukov 8fca26f8c1
allow `%x` for formatting `year_month_day` (#2762)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2022-06-15 18:20:13 -07:00
Mital Ashok 7c56519d8c
Implement P2440R1 ranges::iota, ranges::shift_left, ranges::shift_right (#2580)
Co-authored-by: Casey Carter <Casey@Carter.net>
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2022-06-15 18:17:00 -07:00
Igor Zhukov 85274ba282
When wchar_t is a real type, users shouldn't see unsigned short machinery (#2164) 2022-06-15 17:58:46 -07:00
Stephan T. Lavavej 183a1e22c4
Toolset update: VS 2022 17.3 Preview 2, CUDA 11.6.0 (#2791)
Co-authored-by: Casey Carter <Casey@Carter.net>
2022-06-15 17:50:30 -07:00
A. Jiang 9947dd9d6d
`<deque>`: Properly destroy (fancy) pointers to blocks in the internal map (#2775)
Co-authored-by: Michael Schellenberger Costa <mschellenbergercosta@gmail.com>
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2022-06-12 04:15:53 -07:00
Casey Carter 77a9b2e99e
Don't assume that `_Hash_vec`'s size and capacity are always equal (#2774) 2022-06-12 03:17:51 -07:00
Igor Zhukov 1385898482
fix `format` a `long` value with `formatter` (#2768)
Co-authored-by: S. B. Tam <cpplearner@outlook.com>
Co-authored-by: Stephan T. Lavavej <stl@microsoft.com>
2022-06-12 03:12:16 -07:00
MarcinLigeza 1c4166e9fb
<yvals_core.h>: Update _MSVC_STL_UPDATE to June 2022 (#2764) 2022-06-12 03:09:24 -07:00
Igor Zhukov 99cdfa8337
`<syncstream>`: fix `std::osyncstream` memory leak (#2763)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2022-06-12 03:04:35 -07:00
Alex Guteniev 03d73dfcb6
Deprecate primary complex (#2759)
Co-authored-by: Casey Carter <cartec69@gmail.com>
Co-authored-by: Stephan T. Lavavej <stl@microsoft.com>
2022-06-12 02:59:47 -07:00
Igor Zhukov 12efbdbedc
`<complex>`: fix complex division by zero (#2758)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
Co-authored-by: statementreply <statementreply@gmail.com>
2022-06-12 02:50:45 -07:00
mordante 82acfcf4c3
Compact the _Unicode_property_data tables. (#2757)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2022-06-12 02:44:05 -07:00
A. Jiang 01a03dde0a
Untag dispatch `get` for `pair` (#2756)
Co-authored-by: Casey Carter <Casey@Carter.net>
2022-06-12 02:39:13 -07:00
Igor Zhukov 37b51205fb
Support char8_t in C++17 and C++14 modes (#2748)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
Co-authored-by: Casey Carter <Casey@Carter.net>
2022-06-12 02:32:56 -07:00
Alex Guteniev e178ea2c52
stacktrace (#2502)
Co-authored-by: Adam Bucior <35536269+AdamBucior@users.noreply.github.com>
Co-authored-by: Daniel Marshall <xandan@gmail.com>
Co-authored-by: nicole mazzuca <83086508+strega-nil-ms@users.noreply.github.com>
Co-authored-by: Stephan T. Lavavej <stl@microsoft.com>
2022-06-12 02:27:31 -07:00
Adam Bucior 877cabab45
Use iterator concept in vector's range constructor (#1794)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2022-06-12 02:18:00 -07:00
Igor Zhukov 7e0f223648
`<format>`: add a workaround for /presetPadding (#2746)
Co-authored-by: Casey Carter <Casey@Carter.net>
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2022-06-01 17:47:32 -07:00
A. Jiang d8d8a6b505
`<xstring>`: Restrict enabled `hash` specializations as required by the standard (#2741)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2022-06-01 17:38:56 -07:00
Igor Zhukov a3c1eb2e03
codecvt: no conversion for all char-like types of size 1. (#2739)
Co-authored-by: Alex Guteniev <gutenev@gmail.com>
2022-06-01 17:28:16 -07:00
A. Jiang 87b1f5d134
`<tuple>`: Becomes a core header (#2730) 2022-06-01 17:24:43 -07:00
Alex Guteniev ae710e7b07
clamp cmov codegen (#2336)
Co-authored-by: nicole mazzuca <83086508+strega-nil-ms@users.noreply.github.com>
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2022-06-01 17:16:25 -07:00
Igor Zhukov 79bf9976d0
<any>: std::any links when exceptions are disabled (#2193)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2022-06-01 17:10:19 -07:00
Igor Zhukov f539c0e5cc
remove `const` from `<random>` distribution::`operator()` (#2732)
Co-authored-by: Casey Carter <cartec69@gmail.com>
2022-05-23 18:00:08 -07:00
S. B. Tam 296681379d
`<ranges>`: Temporarily disable `join_view` for non-`forward_range`s, pending resolution of LWG-3698 (#2727)
Co-authored-by: Casey Carter <cartec69@gmail.com>
Co-authored-by: timsong-cpp <rs2740@gmail.com>
2022-05-23 17:51:45 -07:00
A. Jiang 4761b6dabe
`<xmemory>`: Remove `std::allocator<void>` full specialization (#2726)
Co-authored-by: Casey Carter <cartec69@gmail.com>
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2022-05-23 17:45:50 -07:00
Igor Zhukov 39f8c34069
`<functional>`: is compatible with `/Zc:alignedNew-` now (#2712)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
Co-authored-by: Casey Carter <Casey@Carter.net>
2022-05-23 17:35:53 -07:00
Michael Schellenberger Costa b7ba3ad82f
<expected> Implement P0323R12 (#2643)
Co-authored-by: Stephan T. Lavavej <stl@microsoft.com>
Co-authored-by: Casey Carter <Casey@Carter.net>
2022-05-23 17:27:44 -07:00
Igor Zhukov 9ca4a292c2
`<ciso646>` is removed in C++20 (#2710)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2022-05-16 21:34:26 -07:00
Michael Schellenberger Costa 5795df3d80
<ranges> Implement P2442R1 `chunk_view` (#2685)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2022-05-16 21:22:01 -07:00
Michael Schellenberger Costa dffb7ad25a
<ranges> Implement P2442R1 slide_view (#2670)
Co-authored-by: nicole mazzuca <83086508+strega-nil-ms@users.noreply.github.com>
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2022-05-16 20:53:15 -07:00
Alex Guteniev cbd964dd8f
P1413R3 Deprecate `aligned_storage` & `aligned_union` (#2583)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2022-05-16 20:48:21 -07:00
Michael Schellenberger Costa 46c0bcba4a
<string> Add asan annotations (#2196)
Co-authored-by: Stephan T. Lavavej <stl@microsoft.com>
2022-05-16 20:44:08 -07:00
Stephan T. Lavavej 488e789386
Block C++98 `unexpected()` from being restored in C++23 mode (#2709) 2022-05-09 16:57:49 -07:00
A. Jiang c183fa88f1
Speculatively implement LWG-3234: Sufficient Additional Special Math Overloads (#2703)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2022-05-05 02:48:28 -07:00
Stephan T. Lavavej 9ccb781ce7
Scalarize `swap` and `ranges::swap` for arrays (#2700) 2022-05-05 02:44:14 -07:00
Jakub Mazurkiewicz 37e8fbfa46
Update `_MSVC_STL_UPDATE` macro (#2696) 2022-05-05 02:36:41 -07:00
Alex Guteniev bebd80efe0
Untag dispatch vector<bool>::_Insert (#2694)
Co-authored-by: Casey Carter <cartec69@gmail.com>
2022-05-05 02:34:01 -07:00
Alex Guteniev cf15d6c1e0
Untag dispatch `<random>` (#2693)
Co-authored-by: Michael Schellenberger Costa <mschellenbergercosta@gmail.com>
Co-authored-by: Nicole Mazzuca <mazzucan@outlook.com>
2022-05-05 02:27:17 -07:00
S. B. Tam f8748eb6d9
P2321R2 zip: Make `tuple`, `pair`, and `vector<bool>::reference` `indirectly_writable` (#2687)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2022-05-05 02:20:20 -07:00
Alex Guteniev 0a618dfb93
Reduce `_Invoker_ret` specializations with `if constexpr` (#2668) 2022-05-05 02:13:53 -07:00
Igor Zhukov 39a0ea71be
`<cmath>`: add arithmetic overloads for `std::lerp` (#2113)
Co-authored-by: Casey Carter <Casey@Carter.net>
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2022-05-05 02:03:25 -07:00
Axel Boldt-Christmas 24b899e4ad
<memory>: Fix atomic smart pointers array type interaction (#1339)
Co-authored-by: Nicole Mazzuca <mazzucan@outlook.com>
2022-05-05 01:57:32 -07:00
Stephan T. Lavavej d89a32b2a4
`<atomic>`: Fix missing ARM64EC ifdefs (#2702) 2022-05-04 15:31:40 -07:00
Stephan T. Lavavej 39332e104d
Vectorize `swap` and `ranges::swap` for arrays (#2689) 2022-05-01 03:55:13 -07:00
Stephan T. Lavavej e9c2444cd4
Cleanups 8: Deprecate `<strstream>` classes instead of the entire header (#2680) 2022-05-01 03:48:16 -07:00
Stephan T. Lavavej 4b3d984c3b
Cleanups 7: Unnecessary guard around `new_handler` (#2679) 2022-05-01 03:46:42 -07:00
Stephan T. Lavavej 64afd795a5
Cleanups 6: iostreams: drop `extern`, hide `_Winit` (#2678) 2022-05-01 03:44:23 -07:00
Stephan T. Lavavej aaa0863e81
Cleanups 5: `if constexpr` for `<scoped_allocator>` `operator==` (#2677) 2022-05-01 03:40:49 -07:00
Stephan T. Lavavej 311c59a45e
Cleanups 4: `quoted()` (#2676) 2022-05-01 03:38:34 -07:00
Stephan T. Lavavej b9505b9818
Cleanups 3: Simple changes (#2675) 2022-05-01 03:36:42 -07:00
Stephan T. Lavavej 2f7bfce869
Cleanups 2: Exception handling (#2674) 2022-05-01 03:35:10 -07:00
Stephan T. Lavavej be47a3a813
Cleanups 1: Comments and formatting (#2673) 2022-05-01 03:32:47 -07:00
Matt Stephanson b965db4e56
`<xloctime>`: apply two-digit year logic only if exactly two digits are read (#2666)
Co-authored-by: Stephan T. Lavavej <stl@microsoft.com>
2022-05-01 03:07:27 -07:00
Alex Guteniev b0b9a58b35
Untag dispatch `<execution>` (#2662) 2022-05-01 03:02:32 -07:00
Alex Guteniev a10c471db2
Untag dispatch `<xstring>` (#2660)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2022-05-01 02:58:06 -07:00
A. Jiang 54f4ac6cd2
Implement LWG-3525: `uses_allocator_construction_args` fails to handle types convertible to `pair` (#2639)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
Co-authored-by: Casey Carter <cacarter@microsoft.com>
2022-05-01 02:53:47 -07:00
Charlie Barto 9d1421dabf
<format>: Add grapheme clusterization support for width computation (#2119)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2022-04-26 18:49:07 -07:00
Casey Carter 0349ce1540
Annotate some functions `_MSVC_CONSTEXPR` (#2658) 2022-04-19 01:11:36 -07:00
Stephan T. Lavavej 9bf8f3f9b0
Even more various cleanups (#2656) 2022-04-15 20:21:08 -07:00
Casey Carter 7209f869b7
Guard use of custom attributes against macroization (#2649) 2022-04-15 17:57:02 -07:00
Charlie Barto 3ab44c2155
`<bit>`: fix `countl_zero` on arm64 (#2647)
Co-authored-by: Alex Guteniev <gutenev@gmail.com>
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2022-04-15 17:50:18 -07:00
A. Jiang 0c73091ea7
Implement LWG-3121: `tuple` constructor constraints for `UTypes&&...` overloads (#2640)
Co-authored-by: S. B. Tam <cpplearner@outlook.com>
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2022-04-15 17:45:11 -07:00
Igor Zhukov 9f0e33bc83
fix `treat_as_floating_point_v<_DurationType>` (#2638)
Co-authored-by: Daniel Krügler <daniel.kruegler@gmail.com>
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2022-04-15 17:38:10 -07:00
Stephan T. Lavavej fa02b10776
Toolset update: VS 2022 17.2 Preview 3 (#2651) 2022-04-15 17:27:15 -07:00
Eleni Partakki 52505b9d32
Update `_MSVC_STL_UPDATE` (#2634) 2022-04-04 13:49:57 -07:00
S. B. Tam e7f5b274d7
Workaround for LLVM-46269 constrained destructor ordering (#2630) 2022-04-04 13:43:29 -07:00
Stephan T. Lavavej 2127ea0096
Remove parallel `copy_backward()` and `move_backward()` (#2627) 2022-04-04 13:33:55 -07:00
Stephan T. Lavavej 57b28c781a
`<charconv>`: `_Divide` can trim `_Big_integer_flt` more efficiently (#2623) 2022-04-04 13:30:25 -07:00
Stephan T. Lavavej bcf2b794be
Use `_NODISCARD_FRIEND` everywhere (#2622) 2022-04-04 13:21:44 -07:00
Stephan T. Lavavej baef90317d
More various cleanups (#2621) 2022-04-04 13:13:16 -07:00
Alex Guteniev 2aabd75443
SSE2 & AVX2 std::find & std::count (#2434)
Co-authored-by: Michael Schellenberger Costa <mschellenbergercosta@gmail.com>
Co-authored-by: S. B. Tam <cpplearner@outlook.com>
Co-authored-by: Casey Carter <Casey@Carter.net>
Co-authored-by: Stephan T. Lavavej <stl@microsoft.com>
2022-04-04 12:45:48 -07:00
Charlie Barto 1b6fa43c52
<stdatomic.h>: Simplify preprocessor logic (#2615) 2022-03-28 16:50:07 -07:00
S. B. Tam f307b76c23
Cache `_Fmt_codec<char, false>` (#2600) 2022-03-28 16:43:05 -07:00
Ed Catmur c42ad5cabf
Fail time parsing if input is insufficient to supply all fields (#2523)
Co-authored-by: Matt Stephanson <68978048+MattStephanson@users.noreply.github.com>
2022-03-28 16:31:15 -07:00
Igor Zhukov c302187889
`<filesystem>`: `path` should be `range` (#2457)
Co-authored-by: Alex Guteniev <gutenev@gmail.com>
Co-authored-by: Casey Carter <cacarter@microsoft.com>
2022-03-28 16:20:49 -07:00
Alex Guteniev 3b5d49b1b0
<deque>: _RERAISE -> scope guard (#2308)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
Co-authored-by: Casey Carter <Casey@Carter.net>
2022-03-28 16:04:51 -07:00
A. Jiang f099e9c9f9
Add missing implicit SFINAE constraints (#2607)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2022-03-19 03:30:29 -07:00
Stephan T. Lavavej fdcafc0dfd
Split `<chrono>` into `<__msvc_chrono.hpp>` (#2604)
Co-authored-by: cpplearner <cpplearner@outlook.com>
2022-03-19 03:25:27 -07:00
Stephan T. Lavavej f310638f9d
Various cleanups (#2595) 2022-03-19 03:18:47 -07:00
A. Jiang 8cc160124a
`<type_traits>`: Workaround for `common_reference` (#2592)
Co-authored-by: Stephan T. Lavavej <stl@microsoft.com>
2022-03-19 03:12:45 -07:00
Casey Carter 291e0ad3c6
Even rvalue `empty_view`s are `borrowed_range`s (#2576)
....which we somehow missed when implementing P1870R1 "`forwarding-range<T>` is too subtle".
2022-03-19 03:04:27 -07:00
Alex Guteniev b973fd0837
Untag dispatch regex (#2484)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
Co-authored-by: Casey Carter <Casey@Carter.net>
2022-03-19 02:57:40 -07:00
Alex Guteniev c221b34b38
Untag dispatch find_first_of (#2479)
Co-authored-by: Casey Carter <Casey@Carter.net>
2022-03-19 02:51:40 -07:00
Alex Guteniev b380155bc8
Untag dispatch _Uses_allocator_construct (#2471)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
Co-authored-by: Casey Carter <cartec69@gmail.com>
2022-03-19 02:48:20 -07:00
Alex Guteniev 7312e5b356
Untag dispatch tree (#2287) 2022-03-19 02:40:33 -07:00
Alex Guteniev d15bda27d5
Misc untag dispatch: is_permutation, sample, rethrow_if_nested, default_searcher (#2219)
Co-authored-by: Michael Schellenberger Costa <mschellenbergercosta@gmail.com>
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
Co-authored-by: Casey Carter <Casey@Carter.net>
2022-03-19 02:36:13 -07:00
Stephan T. Lavavej 874d1f088d
Toolset update: VS 2022 17.2 Preview 2 (#2611) 2022-03-19 02:22:21 -07:00
Igor Zhukov 430bb0a108
Implement P2273R3 `constexpr` `unique_ptr` (#2582)
Co-authored-by: Stephan T. Lavavej <stl@microsoft.com>
2022-03-16 22:54:01 -07:00
Casey Carter 18b3c67fd5
Orphan before reallocation in vector<👻> (#2441)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2022-03-16 22:47:36 -07:00
Igor Zhukov e6fa258e58
Implement LWG-3571 and LWG-3570: `flush_emit` set `badbit` if the `emit` call fails (#2418)
Co-authored-by: Michael Schellenberger Costa <mschellenbergercosta@gmail.com>
Co-authored-by: Matt Stephanson <stephanson.matt@gmail.com>
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
Co-authored-by: Charlie Barto <chbarto@microsoft.com>
2022-03-16 22:43:08 -07:00
S. B. Tam add440116b
Implement P2443R1 views::chunk_by (#2565)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2022-03-14 16:27:24 -07:00
Casey Carter 4bb41db3d8
format (and friends) should reject volatile arguments (#2579) 2022-03-04 14:52:36 -08:00
Casey Carter 598cdfa7fd
Don't move from contained value of `optional<const T>` (#2460)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2022-03-04 14:23:10 -08:00
Oren Cohen 03122ed0c8
Update month to March 2022 (#2602) 2022-03-03 20:03:47 -08:00
Mital Ashok 38ddb14c63
Allow promises to be constructed for non-default-constructible types (#2568)
Co-authored-by: Stephan T. Lavavej <stl@microsoft.com>
2022-03-03 19:59:21 -08:00
Igor Zhukov dafa1dd5fa
Implement LWG-3648: `format` should not print `bool` with `'c'` (#2587)
Co-authored-by: Casey Carter <Casey@Carter.net>
2022-03-02 12:34:52 -08:00
Igor Zhukov 824def4af3
Implement LWG-3612: Inconsistent pointer alignment in std::format (#2586) 2022-03-02 12:27:20 -08:00
Alex Guteniev 9fe98e09c8
Untag dispatch string constructor (#2480) 2022-03-02 12:10:43 -08:00
Alex Guteniev 42caa916a0
Untag dispatch _Directory_iterator (#2478)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2022-03-02 12:04:29 -08:00
Stephan T. Lavavej 89d50c5996
`<charconv>`: Fix `from_chars()` `float` tiebreaking (#2366) 2022-02-22 16:12:38 -08:00
Igor Zhukov 7b2c54be01
Speculatively implement LWG-3636: `formatter<T>::format` should be const-qualified (#2573)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2022-02-17 18:21:39 -08:00
Charlie Barto 113cb97b76
`<format>`: fix single byte out of bounds access (#2569) 2022-02-17 18:15:36 -08:00
Igor Zhukov b92f2c8e69
implement LWG-3471: `polymorphic_allocator::allocate` does not satisfy Cpp17Allocator requirements (#2567)
Co-authored-by: A. Jiang <de34@live.cn>
Co-authored-by: timsong-cpp <rs2740@gmail.com>
2022-02-17 18:12:33 -08:00
Igor Zhukov 05ac0a5dfb
Implement LWG-3618 Unnecessary `iter_move` for `transform_view::iterator` (#2566)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2022-02-17 18:09:30 -08:00
A. Jiang 7671576afb
Implement LWG-3657 `std::hash<std::filesystem::path>` is not enabled (#2564) 2022-02-17 18:06:49 -08:00
Igor Zhukov 202e42a96a
Implement LWG-3598 `system_category().default_error_condition(0)` (#2560) 2022-02-17 18:00:50 -08:00
Casey Carter 4ca712bc41
Update LLVM from upstream, fix bugs (#2499) 2022-02-17 01:16:50 -08:00
Casey Carter afe0800cd6
Update `__cpp_lib_concepts` (#2559) 2022-02-11 19:04:04 -08:00
Casey Carter 6a478bf348
Implement LWG-3660 for `iterator_traits<common_iterator>::pointer` (#2549) 2022-02-11 18:59:02 -08:00
Casey Carter fbc92af8eb
"Implement" LWG-3632 by commenting `unique_ptr` CTAD (#2548) 2022-02-11 18:52:32 -08:00
Igor Zhukov 5b5634f828
LWG-3661: `constinit` `atomic<shared_ptr<T>>` a(nullptr); should work (#2544)
Co-authored-by: Michael Schellenberger Costa <mschellenbergercosta@gmail.com>
2022-02-11 18:49:27 -08:00
S. B. Tam e472b13ed2
LWG-3621 Remove feature-test macro `__cpp_lib_monadic_optional` (#2543) 2022-02-11 18:46:59 -08:00
A. Jiang 3f5b8ff0cd
LWG-3610: `iota_view::size` sometimes rejects integer-class types (#2542)
Co-authored-by: Casey Carter <cartec69@gmail.com>
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2022-02-11 18:44:07 -08:00
Casey Carter 624b2ae40c
P2393R1 Cleaning Up Integer-Class Types (#2541) 2022-02-11 18:30:27 -08:00
Igor Zhukov 06d094a655
LWG-3654: `basic_format_context::arg(size_t)` should be noexcept (#2528) 2022-02-11 18:26:30 -08:00
Alex Guteniev b6b9778858
P0627R6: Function to mark unreachable code (#2526)
Co-authored-by: Casey Carter <cartec69@gmail.com>
2022-02-11 18:22:10 -08:00
Igor Zhukov 8096a27550
resize_and_overwrite: fix warning C4018 (#2525)
Co-authored-by: PowerGamer1 <PowerGamer1@users.noreply.github.com>
2022-02-11 18:07:05 -08:00
Stephan T. Lavavej bb0cdf6c22
Fix and test deduplicated header units (#2516) 2022-02-11 17:55:27 -08:00
Casey Carter bbd5dbaa61
Speculatively implement LWG-3664 (#2522)
to fix a regression when calling `ranges::distance` with array arguments which _should_ decay to pointers. While we're here, let's merge `distance(i, s)` overloads and use `if constexpr` dispatch instead of concept overloading.

Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2022-02-07 11:54:49 -08:00
Ritik Rawal ee6a79e4ca
Update _MSVC_STL_UPDATE for 2022-02 (#2519) 2022-02-07 11:49:58 -08:00
Casey Carter 53d4f93525
Move `<ranges>` and `<format>` into C++20 (#2518)
* 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>`.
2022-02-07 11:36:22 -08:00
S. B. Tam 823dbe3b44
Rearrange feature test macros (#2510)
And don't bother to check `_DOWNLEVEL_COROUTINES_SUPPORTED` which equivalent to `__cpp_impl_coroutine`.

Fixes #2135.
2022-02-07 11:30:40 -08:00
Matt Stephanson a3b2a891af
constexpr all the generate_canonical parameters (#2498)
...up to 64 bits of entropy. Leave the original implementation for
more bits and naughty generators (I'm looking at you, tr1) whose
`min` and `max` functions aren't static.

Fixes #1964.
2022-02-07 11:23:45 -08:00
DadTech b11945b73f
Changed `_Unfancy_maybe_null()` to `_Unfancy()` (#2508)
Co-authored-by: Casey Carter <Casey@Carter.net>
2022-01-31 18:44:40 -08:00
Charlie Barto e4303b5087
`<format>`: Use `_MSVC_EXECUTION_CHARACTER_SET` (#2493)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2022-01-31 18:15:52 -08:00
Stephan T. Lavavej fcd5cf555f
Toolset update: VS 2022 17.1 Preview 4, ARM64EC (#2496) 2022-01-25 22:33:39 -08:00
Sam Huang f575e7becd
`<ratio>`: Use `constexpr` functions instead of TMPs (#2450)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2022-01-25 22:28:42 -08:00
Charlie Barto f0c0eaaca0
`<format>`: Implement P2418R2 support for `std::generator`-like types (#2323)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2022-01-25 22:25:18 -08:00
Casey Carter 59a87ccc94
LWG-3392 `ranges::distance()` cannot be used on a move-only iterator with a sized sentinel (#2421)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2022-01-21 16:52:08 -08:00
Casey Carter d896ef8f54
LWG-3543: Update counted_iterator's "same sequence" definition (#2424)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2022-01-21 16:47:15 -08:00
Casey Carter 94bb6d2279
LWG-3589: subrange `get<0>` requires a copyable iterator (#2425) 2022-01-21 16:18:49 -08:00
Alex Guteniev 51ad3980f5
Alternative way to optimize `_Countr_zero` (#2343)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2022-01-21 16:11:36 -08:00
Stephan T. Lavavej 33007ac754
Toolset update: VS 2022 17.1 Preview 2, Clang 13 (#2474) 2022-01-19 17:22:46 -08:00
Jino Park 086b072f8e
Remove some `strengthened` comments for LWG-3593 (#2448) 2022-01-19 16:50:18 -08:00
Stefan 20fea3fbe0
Fix begin/end for valarray crashing on empty instance (#2435)
Co-authored-by: Casey Carter <cartec69@gmail.com>
2022-01-19 16:42:21 -08:00
Casey Carter 4dab194222
Render keys_view and values_view useless per LWG-3563 (#2426) 2022-01-19 16:17:51 -08:00
Casey Carter 3355484683
`allocator::is_always_equal` is deprecated, not removed, in C++20 (#2423) 2022-01-19 16:11:31 -08:00
Alex Guteniev c6169272b2
Activate `reverse_copy` optimization under C++20/C++23 mode (#2416) 2022-01-19 15:55:34 -08:00
Igor Zhukov 1881560e04
`<memory>`: Add `nullptr` check in `std::allocator` (#2412) 2022-01-19 15:46:51 -08:00
Curtis J Bezault 86e22c3cf3
`<vector>`: Fix ASan annotations when `clear`ing (#2464)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2022-01-13 17:35:04 -08:00
Senthilnathan 0dc93fcf0e
updated _MSVC_STL_UPDATE to January 2022 (#2455) 2022-01-05 22:33:15 -08:00
Stephan T. Lavavej dd5be88c63
Use `/ALTERNATENAME` instead of checked-in OBJ files generated by `aliasobj` (#2381) 2022-01-05 22:27:47 -08:00
Alex Guteniev 69541facb9
Untag dispatch find (#2380)
Co-authored-by: Michael Schellenberger Costa <mschellenbergercosta@gmail.com>
Co-authored-by: S. B. Tam <cpplearner@outlook.com>
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
Co-authored-by: Casey Carter <Casey@Carter.net>
2022-01-05 22:17:59 -08:00
Igor Zhukov 16251e3cde
handle Clang-CUDA (#2075)
* do not require protection from macroized `new` for Clang in Cuda mode
* Don't check NVCC version if `__CUDACC_VER_MAJOR__` is not defined

which admits both clang-CUDA and `cl /showIncludes /D__CUDACC__` into the STL.
2022-01-05 21:50:41 -08:00
Igor Zhukov 582735aa40
`<algorithm>`: `ranges::clamp`, the projection may be applied at most three times. (#1898)
* the projection may be applied at most three times.

Co-authored-by: Michael Schellenberger Costa <mschellenbergercosta@googlemail.com>
Co-authored-by: statementreply <statementreply@gmail.com>
Co-authored-by: Casey Carter <cacarter@microsoft.com>
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2022-01-05 21:44:35 -08:00
Curtis J Bezault 303df3dae6
`<vector>`: Correctly pass target size, not size change to ASan annotator (#2420) 2021-12-16 19:33:10 -08:00
Casey Carter 3318135d9c
Prefer `friend constexpr` to `constexpr friend`, skip flaky libcxx test (#2419) 2021-12-16 19:28:31 -08:00
Igor Zhukov 857815660d
improve iota_view's iterator's binary operator+ (LWG-3580) (#2417)
Co-authored-by: Casey Carter <Casey@Carter.net>
2021-12-16 19:23:45 -08:00
Igor Zhukov 3f59b281fe
Implement LWG-3470: `convertible-to-non-slicing` seems to reject valid case (#2414)
Co-authored-by: Michael Schellenberger Costa <mschellenbergercosta@gmail.com>
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-12-16 19:19:30 -08:00
cristei 9a60c82cdd
Implement LWG-3591 and LWG-3592 for `lazy_split_view` (#2411)
Co-authored-by: Casey Carter <Casey@Carter.net>
2021-12-16 19:15:05 -08:00
Igor Zhukov 4db457f0d5
Implement LWG-3574 and LWG-3595: `common_iterator` should be completely `constexpr`-able (#2410)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
Co-authored-by: Casey Carter <cartec69@gmail.com>
2021-12-16 19:09:59 -08:00
Igor Zhukov 3a570ee597
Implement LWG-3146: Excessive unwrapping in `std::ref`/`cref` (#2409)
Co-authored-by: Michael Schellenberger Costa <mschellenbergercosta@gmail.com>
2021-12-16 19:06:36 -08:00
Igor Zhukov 4b9ab17211
Implement LWG-3557: The `static_cast` expression in `convertible_to` has the wrong operand (#2406)
Co-authored-by: Michael Schellenberger Costa <mschellenbergercosta@gmail.com>
2021-12-16 19:03:17 -08:00
Igor Zhukov 1174e733da
Implement LWG-3590: `split_view::base() const &` is overconstrained (#2404)
Co-authored-by: Michael Schellenberger Costa <mschellenbergercosta@gmail.com>
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
Co-authored-by: Casey Carter <Casey@Carter.net>
2021-12-16 18:58:39 -08:00
Casey Carter d62ead3e34
Strike "with concepts support" from the GH-1814 messages (#2382) 2021-12-16 18:51:03 -08:00
Michael Schellenberger Costa 7c78a428bf
Fix Efficient access to streambuf buffer (#2361) 2021-12-16 18:44:57 -08:00
Alex Guteniev 2ff81498dd
P2077R3 Heterogeneous Erasure Overloads (#2350)
Co-authored-by: Stephan T. Lavavej <stl@microsoft.com>
2021-12-16 18:39:50 -08:00
Alex Guteniev f3ab9de28a
Update test for bsf private helper (#2337)
Co-authored-by: Stephan T. Lavavej <stl@microsoft.com>
2021-12-16 18:24:10 -08:00
Michael Schellenberger Costa 5eb9cb8ce3
Fix bugs in std::string (#2305)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-12-16 18:17:42 -08:00
S. B. Tam 20b8f611c8
Implement P0798R8 monadic operations for std::optional (#2301)
Co-authored-by: Casey Carter <Casey@Carter.net>
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-12-16 18:03:45 -08:00
Alex Guteniev b33a89ec69
P0288R9 move_only_function (#2267)
Co-authored-by: frederick-vs-ja <de34@live.cn>
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-12-16 17:24:28 -08:00
Charlie Barto 9265c51c86
<format>: compile time checks (#2221)
Co-authored-by: Michael Schellenberger Costa <mschellenbergercosta@gmail.com>
Co-authored-by: Stephan T. Lavavej <stl@microsoft.com>
2021-12-16 17:17:36 -08:00
Matt Stephanson 568a21bec0
`<random>`: Implement LWG-3519 (#2208)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
Co-authored-by: Casey Carter <cartec69@gmail.com>
2021-12-16 17:12:20 -08:00
Sam Huang 990576ee74
LWG-2774 `std::function` construction vs assignment (#2098)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-12-16 17:07:35 -08:00
Curtis J Bezault 2f9f567ffe
`<vector>`: Add ASan annotations. (#2071)
Co-authored-by: Casey Carter <cartec69@gmail.com>
Co-authored-by: Michael Schellenberger Costa <mschellenbergercosta@googlemail.com>
Co-authored-by: Stephan T. Lavavej <stl@microsoft.com>
2021-12-10 20:03:29 -08:00
Stephan T. Lavavej 5e3574b979
Compiler type trait optimizations (#2385) 2021-12-09 22:03:27 -08:00
Omar 524cab2959
LWG-2762 `unique_ptr` `operator*()` should be `noexcept` (#2376)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-12-08 19:44:47 -08:00
Omar c33d3fd112
Updated `_MSVC_STL_UPDATE` to December 2021 (#2374) 2021-12-08 19:41:09 -08:00
Alex Guteniev db9cc55329
Rotate bits using intrinsics (#2369) 2021-12-08 19:24:51 -08:00
Igor Zhukov c8e612a359
Remove DevCom-936696 workaround (#2357) 2021-12-08 19:20:43 -08:00
AnabelSMRuggiero 530db31040
Applied LLVM-47414 workaround to `std::ranges::join_view` (#2352)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-12-08 19:09:07 -08:00
Igor Zhukov 306b4e4307
Implement LWG-3480, `directory_iterator` and `recursive_directory_iterator` are ranges (#2340) 2021-12-08 17:45:40 -08:00
Casey Carter e76e8f6e04
Internally disable `subrange` workaround (#2338) 2021-12-08 17:40:56 -08:00
Casey Carter f852cb042f
Clearing the way for LLVM 13 (#2266) 2021-12-08 17:30:35 -08:00
Casey Carter 3c2fd04d44
Remove improper use of `__declspec(allocator)` (#2328) 2021-11-13 00:37:08 -08:00
Casey Carter 793713e033
Specially handle `array<T, 0>` for non-default-constructible `T` (#2296) 2021-11-13 00:30:28 -08:00
Casey Carter e89128e738
Workaround DevCom-1559808 in `ranges::sort` (#2290)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-11-13 00:21:40 -08:00
Casey Carter d6abb2336b
Fix `ranges::find_end` return for bidi-common case (#2270) 2021-11-12 22:38:54 -08:00
Casey Carter 5739401dcf
`<xstring>`: Implement changes missed from P1148R0 (#2222) 2021-11-12 22:20:27 -08:00
Alex Guteniev 3ba0477f3f
Remove attempt to use tzcnt as bsf (#2333) 2021-11-12 22:02:08 -08:00
Igor Zhukov 4a2424c972
`<format>`: delay vformat instantiation (#2331)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-11-12 21:47:11 -08:00
Sarvesh Limaye f718a5acdb
Updated _MSVC_STL_UPDATE to November 2021 (#2321) 2021-11-12 21:39:14 -08:00
Casey Carter 84516941d7
P2415 What Is A `view`? (#2275)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-11-12 20:25:32 -08:00
Charlie Barto 785143a0c7
P2372R3: Fix handling of locale in chrono formatters (#2273)
Co-authored-by: Victor Zverovich <victor.zverovich@gmail.com>
Co-authored-by: Casey Carter <Casey@Carter.net>
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-11-12 19:53:56 -08:00
Ukilele dfa5326448
P2251R1 Update yvals_core.h and the comments in the tests (#2259)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-11-12 19:38:42 -08:00
Adam Bucior 2de0fa5712
Implement P1072R10 `basic_string::resize_and_overwrite` (#2258) 2021-11-12 19:33:38 -08:00
Adam Bucior 254fca2427
Optimize `is_permutation` for reversed sequences (#2043)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
Co-authored-by: Miya Natsuhara <46756417+mnatsuhara@users.noreply.github.com>
2021-11-12 19:21:36 -08:00
Stephan T. Lavavej 08f12aecf6
Toolset update: VS 2022 17.1 Preview 1 (#2327) 2021-11-12 19:07:16 -08:00
S. B. Tam b2aa34dd89
`<ranges>`: Fix `views::reverse` for `ranges::reverse_view` lvalues (#2313)
Co-authored-by: Casey Carter <cartec69@gmail.com>
2021-11-02 20:53:30 -07:00
Igor Zhukov 57a9696592
Fix duplicated assignment in `filesystem::create_directories` (#2304) 2021-11-02 20:49:46 -07:00
Alex Guteniev 7baa750e9d
More precise check message for `binary_semaphore` (#2293)
Co-authored-by: Casey Carter <cartec69@gmail.com>
2021-11-02 20:42:03 -07:00
Alex Guteniev 3279b7c6c5
`weak_ptr` conversions can sometimes avoid locking (#2282)
Co-authored-by: Stephan T. Lavavej <stl@microsoft.com>
2021-11-02 20:34:25 -07:00
S. B. Tam 75d373a8bc
LWG-3554 Add `const charT*` overloads for `chrono::parse` (#2261)
Co-authored-by: Casey Carter <cartec69@gmail.com>
2021-11-02 20:24:37 -07:00
Igor Zhukov ea54ea3319
`<fstream>`: `fstream::close` shouldn't corrupt heap (after `putback`) (#2189)
Co-authored-by: Alex Guteniev <gutenev@gmail.com>
Co-authored-by: Casey Carter <cartec69@gmail.com>
2021-11-02 20:19:13 -07:00
Stephan T. Lavavej ee5a216b51
Fix/improve intrinsics usage for ARM64EC (#2306) 2021-10-29 03:00:38 -07:00
Alex Guteniev 6e669f0923
Clean up unnecessary `(void)` casts (#2280) 2021-10-19 19:26:31 -07:00
S. B. Tam 7b75fe110c
Remove LWG comments (#2269)
Co-authored-by: Casey Carter <Casey@Carter.net>
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-10-19 19:18:10 -07:00
Ukilele fb65d578a8
P2401R0 Conditional noexcept For exchange() (#2263) 2021-10-19 19:12:01 -07:00
Igor Zhukov 486a8a1091
Implement P1147R1 "Printing volatile Pointers" (#2262)
Co-authored-by: Casey Carter <Casey@Carter.net>
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-10-19 19:05:04 -07:00
Matt Stephanson ebd229fd42
LWG-3422: Issues of seed_seq's constructors (#2260) 2021-10-19 18:49:29 -07:00
Casey Carter 4b97eaad13
Implement P2432R1 Fix `istream_view` (#2245) 2021-10-19 18:41:49 -07:00
Alex Guteniev a6718c2b81
P1272R4 `byteswap()` (#2235)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-10-19 18:31:05 -07:00
Alessio 89f7204662
`<yvals_core.h>`: Remove unnecessary `_HAS_CXX23` definition (#2226) 2021-10-19 18:15:30 -07:00
S. B. Tam 1598738c30
Move `u*streampos` to `<iosfwd>` (#2223) 2021-10-19 18:09:07 -07:00
Alex Guteniev 066c172920
Fix deadlock in `condition_variable_any` with `stop_token` (#2220)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-10-19 17:52:41 -07:00
Alex Guteniev bb210e7bb5
Replace tag dispatch with `if constexpr` for `_Choose_pocca`, `_Choose_pocma` (#2217)
Co-authored-by: Stephan T. Lavavej <stl@microsoft.com>
2021-10-19 17:43:35 -07:00
Alex Guteniev ce9b08863b
Optimize `std::count` even more for `vector<bool>` (#2203)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-10-19 17:38:46 -07:00
Rose 32a0cfb22f
Use `static_cast` for `void*` outside of converting to integers (#2096) 2021-10-19 17:31:55 -07:00
Michael Schellenberger Costa a9f1b27ce0
P1659R3 ranges::starts_with, ranges::ends_with (#1997)
Co-authored-by: Adam Bucior <35536269+AdamBucior@users.noreply.github.com>
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
Co-authored-by: Casey Carter <Casey@Carter.net>
2021-10-19 17:26:47 -07:00
Ukilele 88332706f4
Update _MSVC_STL_UPDATE to October 2021
Fixes #2228
2021-10-08 19:20:00 -07:00
yuanhongzhao 6aac0c9d38
`<random>`: Fixes subtract_with_carry_engine io (#2088)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-10-08 19:15:15 -07:00
Michael Schellenberger Costa 65a346d4d4
Adopt LWG-3546 `common_iterator`'s `postfix-proxy` is not quite right (#1991)
Addresses #1965

Co-authored-by: S. B. Tam <cpplearner@outlook.com>
Co-authored-by: Casey Carter <Casey@Carter.net>
2021-10-08 19:06:18 -07:00
Alex Guteniev 5ebbfd4d3a
make bitset use popcount with ISA detection out of loop (#2201) 2021-09-24 20:23:46 -07:00
Igor Zhukov ec46d76e01
LWG-3520 `iter_move` and `iter_swap` are inconsistent for `transform_view::iterator` (#2200)
Co-authored-by: Michael Schellenberger Costa <mschellenbergercosta@googlemail.com>
Co-authored-by: Adam Bucior <35536269+AdamBucior@users.noreply.github.com>
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-09-24 20:20:18 -07:00
Casey Carter d4d409e600
LWG-3549 `view_interface` is overspecified to derive from `view_base` (#2198) 2021-09-24 20:15:19 -07:00
Casey Carter eb70080e1b
P2281R1 Clarifying Range Adaptor Objects (#2197)
Co-authored-by: Stephan T. Lavavej <stl@microsoft.com>
2021-09-24 20:09:29 -07:00
Adam Bucior ed318b83a8
Extend `memcpy`, `memmove`, and `memcmp` optimizations (#2158)
Co-authored-by: Stephan T. Lavavej <stl@microsoft.com>
2021-09-24 20:02:24 -07:00
Stephan T. Lavavej 636a69d192
Toolset update: VS 2022 17.0 Preview 4 (#2204) 2021-09-24 19:55:59 -07:00
Igor Zhukov 1a985bc4e0
implement LWG-3527 (#2194)
Co-authored-by: Adam Bucior <35536269+AdamBucior@users.noreply.github.com>
Co-authored-by: Alex Guteniev <gutenev@gmail.com>
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-09-10 20:24:00 -07:00
Matt Stephanson 75e7d21b2c
`<algorithm>`: Fix `ranges::_Rotate_one_left` (#2188)
Co-authored-by: Stephan T. Lavavej <stl@microsoft.com>
2021-09-10 20:13:20 -07:00
Anudeep Gunukula 3d022112de
cleared comment TRANSITION, GH-489 (#2186) 2021-09-10 20:03:34 -07:00
KarandeepLubana 070660da42
Updated _MSVC_STL_UPDATE to September 2021 (#2183) 2021-09-10 19:59:25 -07:00
Michael Schellenberger Costa 2d62e84686
Fix constexpr vector again (#2161)
Co-authored-by: Casey Carter <cartec69@gmail.com>
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-09-10 19:51:44 -07:00
Michael Schellenberger Costa e652aa2fd3
`<format>`: fix invalid handling of large precisions (#2157)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-09-10 19:43:29 -07:00
Igor Zhukov 5b0fb2e0fe
`<bit>`: `popcount()` utilizes cnt instruction on arm64 (#2127)
Co-authored-by: Alex Guteniev <gutenev@gmail.com>
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-09-10 19:36:59 -07:00
Michael Schellenberger Costa 5d6a1f2957
Implement P0448R4 spanstream (#2029)
Co-authored-by: Adam Bucior <35536269+AdamBucior@users.noreply.github.com>
Co-authored-by: Charlie Barto <chbarto@microsoft.com>
Co-authored-by: Matt Stephanson <68978048+MattStephanson@users.noreply.github.com>
Co-authored-by: Stephan T. Lavavej <stl@microsoft.com>
2021-09-10 19:31:05 -07:00
Casey Carter d5feb03f32
Annotate implementation of LWG-3581 (#2175) 2021-09-01 21:43:47 -07:00
frederick-vs-ja 205aed7253
`<tuple>`: LWG-3528 `make_from_tuple` can perform (the equivalent of) a C-style cast (#2160) 2021-09-01 21:39:29 -07:00
Michael Schellenberger Costa 21961bb1ef
Implement P2210R2 Superior String Splitting (#2042)
Co-authored-by: Adam Bucior <35536269+AdamBucior@users.noreply.github.com>
Co-authored-by: Casey Carter <cartec69@gmail.com>
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-09-01 21:34:46 -07:00
Michael Schellenberger Costa 671daf4bac
Properly catch exceptions in {i|o}stream (#2033)
Co-authored-by: Igor Zhukov <fsb4000@yandex.ru>
Co-authored-by: Adam Bucior <35536269+AdamBucior@users.noreply.github.com>
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-09-01 21:29:05 -07:00
Igor Zhukov 4e8d337100
STL headers should require C++ and forbid C (#2148)
Co-authored-by: Stephan T. Lavavej <stl@microsoft.com>
2021-08-30 18:07:39 -07:00
Casey Carter 3136525f59
Tolerate 80-bit `long double` in `numeric_limits` (#2172) 2021-08-30 15:01:01 -07:00
Igor Zhukov f58b899ca7
`<cctype>`: do not defend against `isalnum`/etc. macros (#2147) 2021-08-26 18:49:35 -07:00
Stephan T. Lavavej 18d8f37c99
Various cleanups (#2140) 2021-08-26 18:31:36 -07:00
Stephan T. Lavavej 7565738033
`_Convert_size()` should be conditionally `noexcept` (#2139) 2021-08-26 18:16:35 -07:00
Stephan T. Lavavej dd20f56456
`<xstring>`: Remove spurious `operator>>(basic_istream&&, basic_string&)` (#2138) 2021-08-26 17:59:00 -07:00
Stephan T. Lavavej 6d2f8b0ed8
Cleanup comments and clang-formatting (#2136) 2021-08-26 17:51:21 -07:00
Igor Zhukov c2e3f098e5
`string_view` must be `is_trivially_move_constructible_v` (#2128)
Co-authored-by: frederick-vs-ja <de34@live.cn>
Co-authored-by: Adam Bucior <35536269+AdamBucior@users.noreply.github.com>
Co-authored-by: Casey Carter <cartec69@gmail.com>
2021-08-26 17:38:11 -07:00
Igor Zhukov 3ce4c8fcb9
`<streambuf>`: fix seekpos and seekoff (#2121) 2021-08-26 17:30:44 -07:00
Adam Bucior 0f8ec3a306
Optimize `_Non_propagating_cache` (#2118) 2021-08-26 17:17:48 -07:00
Rose c1920e3cdf
Don't call `bit_width` if value is `nullptr` in `_Fmt_write` (#2097)
Co-authored-by: Alfonso Gregory <83477269+gAlfonso-bit@users.noreply.github.com>
2021-08-26 17:11:26 -07:00
Igor Zhukov c261323b15
Optimize `_Popcount_fallback` (#2079)
Co-authored-by: Alex Guteniev <gutenev@gmail.com>
2021-08-26 17:05:19 -07:00
Igor Zhukov d46c27f648
P1518R2 Stop Overconstraining Allocators In Container Deduction Guides (#2032)
Co-authored-by: Michael Schellenberger Costa <mschellenbergercosta@gmail.com>
Co-authored-by: Stephan T. Lavavej <stl@microsoft.com>
2021-08-26 17:01:38 -07:00
Michael Schellenberger Costa 96a4c16195
P2231R1 Completing constexpr In optional And variant (#2005)
Co-authored-by: Casey Carter <cacarter@microsoft.com>
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-08-26 16:53:39 -07:00
Casey Carter f75c7f596c
Return `_Nontrivial_dummy_type` to `<optional>` (#2117) 2021-08-16 20:37:00 -07:00
Alex Guteniev 7feac35160
Workaround for slow codegen on x86 atomic load (#2110) 2021-08-16 20:32:16 -07:00
Michael Herwig 50d3510657
<type_traits> add declval failure assertion for instantiation (#2101) 2021-08-16 20:13:17 -07:00
Igor Zhukov 331ecd5665
`<chrono>`: optimize `chrono::steady_clock::now()` (#2086)
Co-authored-by: Bruce Dawson <brucedawson@chromium.org>
Co-authored-by: Alex Guteniev <gutenev@gmail.com>
2021-08-16 19:10:05 -07:00
Casey Carter 9288cf1797
Avoid "friends of friends" (CWG-1699) in `common_iterator` (#2066)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-08-16 19:00:36 -07:00
Michael Schellenberger Costa 6342084a59
Implement rest of P2259R1, Repairing Input Range Adaptors (#2059)
Co-authored-by: Casey Carter <cacarter@microsoft.com>
2021-08-16 18:25:35 -07:00
yuanhongzhao 3c015bda0c
`<chrono>` LWG-3536: leave duration unchanged on failed parse (#2037)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-08-16 18:17:49 -07:00
Daniel Marshall 503823b5ad
`<functional>`: Implement `invoke_r` (#2019)
Co-authored-by: frederick-vs-ja <de34@live.cn>
Co-authored-by: statementreply <statementreply@gmail.com>
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-08-16 18:09:21 -07:00
Adam Bucior 0680fabf17
Implement P0943R6 Supporting C Atomics In C++ (#2008)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-08-16 17:52:46 -07:00
Michael Schellenberger Costa 46477a1152
Implement P1425 iterator range constructors for stack and queue (#1994)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-08-16 17:38:21 -07:00
statementreply 1ef25f1c4e
<complex>: Fix exp and polar on NaN/infinity input (#1584)
Co-authored-by: Stephan T. Lavavej <stl@microsoft.com>
2021-08-16 17:30:24 -07:00
Casey Carter a9321cfe53
Implement P2367R0 Remove Misuses Of List-Initialization From Clause 24 Ranges (#2026)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-08-10 17:52:19 -07:00
Michael Schellenberger Costa 7f4cc9e37c
Implement P2328R1 `join_view` Should Join All Views Of Ranges (#2038)
Co-authored-by: Adam Bucior <35536269+AdamBucior@users.noreply.github.com>
Co-authored-by: Tim Song <t.canens.cpp@gmail.com>
Co-authored-by: Casey Carter <cacarter@microsoft.com>
Co-authored-by: Stephan T. Lavavej <stl@microsoft.com>
2021-08-10 16:50:31 -07:00
Jose Herrera bfa2cb2a6d
Update _MSVC_STL_VERSION to 143 and _MSVC_STL_UPDATE to August 2021 (#2091) 2021-08-05 19:48:04 -07:00
Rose d3840f40cb
Remove rarely true check in `char_traits::move` (#2083) 2021-08-05 19:43:03 -07:00
Daniel Marshall 472161105d
Remove SHOUTY BANNERS (#2074)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-08-05 19:33:09 -07:00
Daniel Marshall c76042bb32
Remove redundant uses of virtual keyword (#2069)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-08-05 19:25:47 -07:00
Michael Schellenberger Costa b03f22fce3
`<ranges>`: Invalidate the cached position of a view after move (#1931)
Co-authored-by: Casey Carter <cacarter@microsoft.com>
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-08-05 19:16:59 -07:00
Casey Carter 6a53cf2b80
Use LWG-3518 to add `noexcept` (#2080) 2021-07-30 01:02:57 -07:00
Michael Schellenberger Costa 37b0ce0ce3
Fix race condition in iterator debug machinery (#2060)
Co-authored-by: Adam Bucior <35536269+AdamBucior@users.noreply.github.com>
Co-authored-by: Casey Carter <cacarter@microsoft.com>
Co-authored-by: Stephan T. Lavavej <stl@microsoft.com>
2021-07-30 00:25:40 -07:00
Igor Zhukov 889785039c
`_STL_VERIFY` shouldn't emit long strings for function names (#2054)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-07-29 21:17:55 -07:00
Casey Carter 71208b1c70
Add missing precondition check in `forward_list::splice_after` (#2057) 2021-07-29 21:00:33 -07:00
Adam Bucior 9d94845d0f
Extend `swap_ranges` vectorization (#2048)
Co-authored-by: Casey Carter <cartec69@gmail.com>
2021-07-29 20:54:29 -07:00
Igor Zhukov 089a0da50f
`<type_traits>`: `std::byte` is `_Is_trivially_swappable_v` (#2044) 2021-07-29 20:47:50 -07:00
Igor Zhukov b0e59359d1
`<bit>`: `bit_ceil(T(-1))` is not a constant expression (#2041)
Co-authored-by: Adam Bucior <35536269+AdamBucior@users.noreply.github.com>
Co-authored-by: Michael Schellenberger Costa <mschellenbergercosta@gmail.com>
Co-authored-by: Stephan T. Lavavej <stl@microsoft.com>
2021-07-29 20:39:51 -07:00
Adam Bucior 8ebfaf8239
Implement P0401R6 Providing Size Feedback In The Allocator Interface (#2036)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-07-29 20:31:12 -07:00
Igor Zhukov 7b59dffc4c
Implement P1951R1: Default Template Arguments For pair's Forwarding Constructor (#2009)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-07-29 19:58:15 -07:00
Adam Bucior b24a40d644
Implement P1132R7 out_ptr() and inout_ptr() (#1998)
Co-authored-by: Stephan T. Lavavej <stl@microsoft.com>
2021-07-29 19:48:45 -07:00
Michael Schellenberger Costa a719960ddb
Adopt LWG-3533 Make `base() const &` consistent across iterator wrappers that support `input_iterator`s (#1993)
Co-authored-by: S. B. Tam <cpplearner@outlook.com>
Co-authored-by: Casey Carter <cacarter@microsoft.com>
Co-authored-by: Stephan T. Lavavej <stl@microsoft.com>
2021-07-29 19:42:03 -07:00
Alfonso Gregory bd7adb4a93
Simplify the backwards loop in `char_traits::move` (#2055) 2021-07-19 18:52:13 -07:00
Rishabh Budhiraja 8b7ea0a70a
Chore: Update `_MSVC_STL_UPDATE` to July 2021 (#2035) 2021-07-19 18:39:13 -07:00
Jovibor 1b90544e81
`<format>`/`<chrono>`: Remove `<array>` dependency. (#2031)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-07-19 18:30:21 -07:00
stbergmann 38bfb3a755
Adapt some return statements to P2266R1 "Simpler implicit move" (#2025) 2021-07-19 18:18:07 -07:00
Adam Bucior 889da00d70
Forward declare `uses_allocator_construction_args` (#2023)
Co-authored-by: Casey Carter <cartec69@gmail.com>
2021-07-19 18:08:33 -07:00
Stephan T. Lavavej 9a9820df1a
Toolset update: VS 2022 17.0 Preview 2 (#2064) 2021-07-19 17:53:06 -07:00
Igor Zhukov e745bad3b1
P2186R2 Removing Garbage Collection Support (#2010)
Co-authored-by: Casey Carter <cartec69@gmail.com>
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-06-29 16:22:11 -07:00
Casey Carter 19e3d223af
GH-1674 is now LWG-3566 (#2011) 2021-06-29 16:03:12 -07:00
Sam Huang 6fe02ac09e
P1989R2 Range Constructor For `string_view` (#2000)
Co-authored-by: timsong-cpp <rs2740@gmail.com>
Co-authored-by: Casey Carter <cartec69@gmail.com>
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-06-29 15:47:32 -07:00
Michael Schellenberger Costa 61ff9e66bc
LWG-3541 `indirectly_readable_traits` should be SFINAE-friendly for all types (#1992) 2021-06-29 14:48:49 -07:00
Matt Stephanson 27b916fe2b
`<chrono>`: Estimate width of aligned chronat strings (#2017)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-06-29 14:41:51 -07:00
Igor Zhukov aaa5d08964
P2162R2 Inheriting From variant (#2006)
Co-authored-by: Casey Carter <Casey@Carter.net>
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-06-29 14:23:08 -07:00
Sam Huang a8c7283e02
P2166R1 Prohibiting basic_string And basic_string_view Construction From nullptr (#1995)
Co-authored-by: Casey Carter <cacarter@microsoft.com>
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-06-29 04:48:18 -07:00
Matt Stephanson 6b12c4a116
`<chrono>`: Parse subseconds when the underlying type supports it (#1987)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-06-29 04:34:45 -07:00
Adam Bucior 8a6585a8ec
LWG-3548 shared_ptr construction from unique_ptr should move (not copy) the deleter (#2007)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-06-29 04:30:45 -07:00
Michael Schellenberger Costa 853e64fa44
LWG-3553 Useless constraint in `split_view::outer-iterator::value_type::begin()` (#1990) 2021-06-29 04:19:39 -07:00
Michael Schellenberger Costa 96b3678a93
LWG-3555 `{transform,elements}_view::iterator::iterator_concept` should consider `const`-qualification of the underlying range (#1989) 2021-06-29 04:13:26 -07:00
S. B. Tam 1bfe5b1959
Repairing `counted_iterator` (#1939)
Co-authored-by: Casey Carter <cartec69@gmail.com>
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-06-29 04:02:03 -07:00
Casey Carter 4449d8ae0b
LWG-3430, fstream should be constructible from string_view (#1968) 2021-06-29 03:55:49 -07:00
Casey Carter 46c040d68e
`filesystem::u8path` should accept `char8_t` sources (#1943)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-06-29 03:49:49 -07:00
Matt Stephanson 7ed0be0057
<chrono>: Allow the parsing of year + day-of-year to a time_point (#1940) 2021-06-29 03:33:38 -07:00
Daniel Marshall 3a279357e0
P1682R3 to_underlying() For Enumerations (#1828)
Co-authored-by: Casey Carter <cartec69@gmail.com>
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-06-29 03:26:30 -07:00
Casey Carter 7ed04d977e
<format>: Simplify type-erased argument storage (#1907)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-06-29 03:22:12 -07:00
Charles Milette 64aa67e239
<format>: Optimize container insertion (#1894)
Co-authored-by: Casey Carter <cacarter@microsoft.com>
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-06-29 03:15:55 -07:00
statementreply ac661bf1cd
<chrono>: Adjust for leap seconds when formatting file_time (#1879) 2021-06-29 03:08:08 -07:00
Michael Schellenberger Costa a2e781b10a
Cleanup vector a bit (#1771)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-06-29 02:56:55 -07:00
statementreply 678048133b
<random>: Fix mersenne_twister_engine special case behavior (#1631) 2021-06-29 02:33:00 -07:00
Wim Leflere 2682721795
P1679R3 contains() For basic_string/basic_string_view (#1478)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-06-29 02:22:13 -07:00
Casey Carter a4983af087
P2325R3 Views Should Not Be Required To Be Default Constructible (#2012)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-06-29 02:15:02 -07:00
Daniel Marshall 1866b848f0
<ranges>: Remove "per LWG" comments (#1967) 2021-06-11 20:33:15 -07:00
Sumit Bhardwaj ae041aeed8
Adding `native_handle` to `jthread` (#1966) 2021-06-11 20:25:43 -07:00
Michael Schellenberger Costa 96f4b66105
Fix missing `_CONSTEXPR20_CONTAINER` on `_Alloc_temporary` (#1962) 2021-06-11 20:18:56 -07:00
Michael Schellenberger Costa 312047cf3e
<ranges>: Relax constraints on views::drop and views::take range adaptors (#1958)
Co-authored-by: Casey Carter <cacarter@microsoft.com>
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-06-11 20:13:07 -07:00
Pankaj Patil 68383b0f44
<yvals_core.h>: Update _MSVC_STL_UPDATE to June 2021 (#1955) 2021-06-11 20:03:51 -07:00
mghalayini 39e77780bf
`<format>`: parameter name consistency: `_First`/`_Last` vs `_Begin`/`_End` (#1951) 2021-06-11 19:55:29 -07:00
Daniel Marshall 1ece8a0352
`<type_traits>`: Implement `is_scoped_enum` (#1950)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-06-11 19:46:36 -07:00
Adam Bucior e326ec1dd9
Optimizations for unreachable sentinels (#1810)
Co-authored-by: Casey Carter <cartec69@gmail.com>
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-06-11 19:35:51 -07:00
Michael Schellenberger Costa 264765b3c3
Specialize find and count for vector<bool> (#1131)
Co-authored-by: Stephan T. Lavavej <stl@microsoft.com>
2021-06-11 19:30:53 -07:00
Casey Carter 4c862ee11c
<algorithm>: fix GH-1932 (#1933)
* <algorithm>: fix GH-1932

... by extracting the constant expression we'd like to short-circuit into a concept.

Fixes #1932.
2021-06-04 09:56:26 -07:00
Stephan T. Lavavej 20288f94e4
Split/fuse `xlocinfo.h` to fix unintentional export in `format.cpp` (#1927)
* Extract `__msvc_xlocinfo_types.hpp`.

* Include `__msvc_xlocinfo_types.hpp` instead of `xlocinfo.h`.

In `xwctomb.cpp`, need to reorder functions.

Also, `<cwchar>` provides `wmemcmp`, not `<cstring>`.

* Fuse `xlocinfo.h`.
2021-06-04 09:50:10 -07:00
Billy O'Neal 8a8e7cb719
Static partition forward ranges correctly (#1753)
* Static partition forward ranges correctly.

In DevCom-1326903 the user reports that forward ranges, specifically `std::map` in their case, produce incorrect results from `std::equal`. After reducing to `forward_list` and debugging through, the problem is that when processing "unchunked items" we aren't giving those initial chunks their extra item, so the `std::equal` call fails fast whenever there are unchunked items.

Testing before didn't catch this because the values I chose of being around the thread count didn't account for the underlying infrastructure using `_Oversubscription_multiplier` which meant that the partitioning edge cases were not exercised (in most cases the parallel algorithms tests were testing only 1 element per chunk).

`<execution>` Add the missing `+1`. Note that this `+1` is the same `+1` in the random-access version on line 907.

`tests/std/include/parallel_algorithms_utilities.hpp`: Adjust the N constants to account for `_Oversubscription_multiplier`.

* Add `quadradic_complexity_case_limit` to prevent test cases from taking too long.

* Fix typos.

* `break` instead of `return`.

* Fix off-by-one error in handling of `remainingAttempts`.
2021-06-04 09:43:31 -07:00
Casey Carter 3cafa97eec
Implement the ABI plan from GH-1814 (#1929)
* Implement the ABI plan from GH-1814

* Condition `<format>` and "`<chronat>`" on `__cpp_lib_format` instead of `__cpp_lib_concepts`.
* Condition the `view` concept - and everything that relies on it, including all of `<ranges>` - on `__cpp_lib_ranges` in addition to `__cpp_lib_concepts`.
* Add C++23 STL and testing infrastructure:
  * Define `_HAS_CXX23` in `<yvals_core.h>`. We'll eventually want this to move into `<vcruntime.h>` so all `_HAS_CXXMEOW` definitions are nicely localized.
  * `_HAS_CXX23` is defined to `1` iff `_HAS_CXX20 != 0` and `_MSVC_LANG` (if defined) or `__cplusplus` (otherwise) is greater than C++20's value of `202002L`. For Clang coverage, we'll have to manually define `_HAS_CXX23` to `1` until Clang updates their `__cplusplus` value for `/std:c++latest`.
  * Rename `meow_concepts_woof.lst` to `meow_concepts_latest_woof.lst`.
  * Update test matrices: Copy all `meow_latest_woof.lst` matrices to `meow_20_woof.lst`. Add `/std:c++20` coverage to the latter (still spelled `/std:c++latest` for Clang which doesn't grok `/std:c++20`) by duplicating the C++17 configs. `/std:c++latest` becomes C++23 mode (with additions of `/D_HAS_CXX23` for Clang).
  * Replace uses of `meow_latest_woof.lst` with `meow_20_woof.lst`, except for a few tests that are only intended to have `latest` coverage, notably `include_each_header_alone` and all of `libcxx`.
* Only define `__cpp_lib_format` and `__cpp_lib_ranges` in C++23 mode. Update the feature-test macro test accordingly.
2021-05-26 19:25:12 -07:00
Himanshu cb3718935a
Update `_MSVC_STL_UPDATE` to May 2021 (#1897) 2021-05-20 19:38:04 -07:00
Adam Bucior 274faebcb7
LWG-3494 Conditionally Borrowed Ranges (#1877)
Co-authored-by: Casey Carter <cacarter@microsoft.com>
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-05-20 19:33:16 -07:00
Bishwajeet Parhi 905613b90d
Add _NODISCARD to stoi() etc. and various <locale> functions (#1809)
Co-authored-by: Casey Carter <cartec69@gmail.com>
2021-05-20 19:24:52 -07:00
Miroslav Hrnčíř 5fd5fe53f3
Replace __pragma with _Pragma (#1342)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-05-20 19:10:59 -07:00
Stephan T. Lavavej 29bd5bd905
Toolset update: VS 2019 16.10 Preview 4 (#1920) 2021-05-20 19:01:18 -07:00
Michael Schellenberger Costa 4946c741e5
[ranges] Apply resolution of LWG-3502 to elements_view (#1878)
Co-authored-by: Casey Carter <cacarter@microsoft.com>
2021-04-30 18:15:48 -07:00
Victor Zverovich 02ae70ae52
Fix more code bloat issues in <format> (#1874) 2021-04-30 18:10:37 -07:00
Michael Schellenberger Costa f17f2e7200
Fix error in take_view::begin by casting to the appropriate size (#1844)
Co-authored-by: Stephan T. Lavavej <stl@nuwen.net>
2021-04-30 17:58:11 -07:00