Revision tags: llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init |
|
#
ac8c9f1e |
| 28-Nov-2023 |
Louis Dionne <ldionne.2@gmail.com> |
[libc++] Properly guard std::filesystem with >= C++17 (#72701)
<filesystem> is a C++17 addition. In C++11 and C++14 modes, we actually
have all the code for <filesystem> but it is hidden behind a n
[libc++] Properly guard std::filesystem with >= C++17 (#72701)
<filesystem> is a C++17 addition. In C++11 and C++14 modes, we actually
have all the code for <filesystem> but it is hidden behind a non-inline
namespace __fs so it is not accessible. Instead of doing this unusual
dance, just guard the code for filesystem behind a classic C++17 check
like we normally do.
show more ...
|
Revision tags: llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6 |
|
#
c352fa74 |
| 05-Jun-2023 |
Louis Dionne <ldionne.2@gmail.com> |
[libc++] Expand the contents of LIBCXX_ENABLE_FILESYSTEM
Since LIBCXX_ENABLE_FILESYSTEM now truly represents whether the platform supports a filesystem (as opposed to whether the <filesystem> librar
[libc++] Expand the contents of LIBCXX_ENABLE_FILESYSTEM
Since LIBCXX_ENABLE_FILESYSTEM now truly represents whether the platform supports a filesystem (as opposed to whether the <filesystem> library is provided), we can provide a few additional classes from the <filesystem> library even when the platform does not have support for a filesystem. For example, this allows performing path manipulations using std::filesystem::path even on platforms where there is no actual filesystem.
rdar://107061236
Differential Revision: https://reviews.llvm.org/D152382
show more ...
|
Revision tags: llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, working, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3 |
|
#
b8cb1dc9 |
| 18-Aug-2022 |
Louis Dionne <ldionne.2@gmail.com> |
[libc++] Make <ranges> non-experimental
When we ship LLVM 16, <ranges> won't be considered experimental anymore. We might as well do this sooner rather than later.
Differential Revision: https://re
[libc++] Make <ranges> non-experimental
When we ship LLVM 16, <ranges> won't be considered experimental anymore. We might as well do this sooner rather than later.
Differential Revision: https://reviews.llvm.org/D132151
show more ...
|
Revision tags: llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init, llvmorg-14.0.6, llvmorg-14.0.5, llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1, llvmorg-14.0.0 |
|
#
d2baefae |
| 12-Mar-2022 |
Joe Loser <joeloser93@gmail.com> |
[libc++] Replace _LIBCPP_HAS_NO_CONCEPTS with _LIBCPP_STD_VER > 17. NFCI.
All supported compilers that support C++20 now support concepts. So, remove `_LIB_LIBCPP_HAS_NO_CONCEPTS` in favor of `_LIBC
[libc++] Replace _LIBCPP_HAS_NO_CONCEPTS with _LIBCPP_STD_VER > 17. NFCI.
All supported compilers that support C++20 now support concepts. So, remove `_LIB_LIBCPP_HAS_NO_CONCEPTS` in favor of `_LIBCPP_STD_VER > 17`. Similarly in the tests, remove `// UNSUPPORTED: libcpp-no-concepts`.
Differential Revision: https://reviews.llvm.org/D121528
show more ...
|
Revision tags: llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2, llvmorg-14.0.0-rc1, llvmorg-15-init, llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2 |
|
#
67151d02 |
| 09-Jan-2022 |
Arthur O'Dwyer <arthur.j.odwyer@gmail.com> |
[libc++] [ranges] Implement P2415R2 owning_view.
"What is a view?" http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2415r2.html https://github.com/cplusplus/draft/pull/5010/files
This was a
[libc++] [ranges] Implement P2415R2 owning_view.
"What is a view?" http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p2415r2.html https://github.com/cplusplus/draft/pull/5010/files
This was a late-breaking (Oct 2021) change to C++20. The only thing missing from this patch is that we're supposed to bump the feature-test macro from #define __cpp_lib_ranges 202106L to #define __cpp_lib_ranges 202110L but we can't do that because we don't implement all of 202106 Ranges yet.
Differential Revision: https://reviews.llvm.org/D116894
show more ...
|
Revision tags: llvmorg-13.0.1-rc1, llvmorg-13.0.0, llvmorg-13.0.0-rc4, llvmorg-13.0.0-rc3 |
|
#
9d7c420a |
| 02-Sep-2021 |
Louis Dionne <ldionne.2@gmail.com> |
[libc++][NFC] Replace uses of stdr:: by just std::ranges::
Differential Revision: https://reviews.llvm.org/D109121
|
Revision tags: llvmorg-13.0.0-rc2 |
|
#
6900df37 |
| 09-Aug-2021 |
Louis Dionne <ldionne.2@gmail.com> |
[libc++] Remove Lit annotations for unsupported GCC versions from the test suite
Since we officially don't support several older compilers now, we can drop a lot of the markup in the test suite. Thi
[libc++] Remove Lit annotations for unsupported GCC versions from the test suite
Since we officially don't support several older compilers now, we can drop a lot of the markup in the test suite. This helps keep the test suite simple and makes sure that UNSUPPORTED annotations don't rot.
This is the first patch of a series that will remove annotations for compilers that are now unsupported.
Differential Revision: https://reviews.llvm.org/D107787
show more ...
|
Revision tags: llvmorg-13.0.0-rc1, llvmorg-14-init |
|
#
71909de3 |
| 25-Jul-2021 |
Mark de Wever <koraq@xs4all.nl> |
[libc++] Disable incomplete library features.
Adds a new CMake option to disable the usage of incomplete headers. These incomplete headers are not guaranteed to be ABI stable. This option is intende
[libc++] Disable incomplete library features.
Adds a new CMake option to disable the usage of incomplete headers. These incomplete headers are not guaranteed to be ABI stable. This option is intended to be used by vendors so they can avoid their users from code that's not ready for production usage.
The option is enabled by default.
Differential Revision: https://reviews.llvm.org/D106763
show more ...
|
#
3001b48d |
| 12-Jul-2021 |
Louis Dionne <ldionne.2@gmail.com> |
[libc++] Implement views::all_t and ranges::viewable_range
Differential Revision: https://reviews.llvm.org/D105816
|
Revision tags: llvmorg-12.0.1, llvmorg-12.0.1-rc4, llvmorg-12.0.1-rc3, llvmorg-12.0.1-rc2, llvmorg-12.0.1-rc1 |
|
#
c40b0260 |
| 13-May-2021 |
zoecarver <z.zoelec2@gmail.com> |
[libcxx][ranges] Implement `ranges::borrowed_range`.
Differential Revision: https://reviews.llvm.org/D102426
|
#
d8fad661 |
| 13-May-2021 |
Christopher Di Bella <cjdb@google.com> |
[libcxx][ranges] adds concept `sized_range` and cleans up `ranges::size`
* adds `sized_range` and conformance tests * moves `disable_sized_range` into namespace `std::ranges` * removes explicit type
[libcxx][ranges] adds concept `sized_range` and cleans up `ranges::size`
* adds `sized_range` and conformance tests * moves `disable_sized_range` into namespace `std::ranges` * removes explicit type parameter
Implements part of P0896 'The One Ranges Proposal'.
Differential Revision: https://reviews.llvm.org/D102434
show more ...
|
#
6ffc41b0 |
| 24-Apr-2021 |
zoecarver <z.zoelec2@gmail.com> |
[libcxx][ranges] Add `random_access_{iterator,range}`.
Differential Revision: https://reviews.llvm.org/D101316
|
#
2021d272 |
| 28-Apr-2021 |
Louis Dionne <ldionne.2@gmail.com> |
[libc++] Implement ranges::view
Differential Revision: https://reviews.llvm.org/D101547
|
#
9c5d86aa |
| 12-Apr-2021 |
Christopher Di Bella <cjdb@google.com> |
[libcxx][iterator][ranges] adds `bidirectional_iterator` and `bidirectional_range`
Implements parts of: * P0896R4 The One Ranges Proposal`
Depends on D100275.
Differential Revision: https://re
[libcxx][iterator][ranges] adds `bidirectional_iterator` and `bidirectional_range`
Implements parts of: * P0896R4 The One Ranges Proposal`
Depends on D100275.
Differential Revision: https://reviews.llvm.org/D100278
show more ...
|
#
fa3e2626 |
| 11-Apr-2021 |
Christopher Di Bella <cjdb@google.com> |
[libcxx][iterator][ranges] adds `forward_iterator` and `forward_range`
Implements parts of: * P0896R4 The One Ranges Proposal`
Depends on D100271.
Differential Revision: https://reviews.llvm.o
[libcxx][iterator][ranges] adds `forward_iterator` and `forward_range`
Implements parts of: * P0896R4 The One Ranges Proposal`
Depends on D100271.
Differential Revision: https://reviews.llvm.org/D100275
show more ...
|
#
8d0dfa0d |
| 30-Apr-2021 |
Martin Storsjö <martin@martin.st> |
[libcxx] Reenable ranges for clang-cl
This reverts a224bf8ec423b42eea251407e7a6cc8398a5edf4 and fixes the underlying issue.
The underlying issue is simply that MSVC headers contains a define like "
[libcxx] Reenable ranges for clang-cl
This reverts a224bf8ec423b42eea251407e7a6cc8398a5edf4 and fixes the underlying issue.
The underlying issue is simply that MSVC headers contains a define like "#define __in", where __in is one macro in the MSVC Source Code Annotation Language, defined in sal.h
Just use a different variable name than "__in" __indirectly_readable_impl, and add "__in" to nasty_macros.h just like the existing __out. (Also adding a couple more potentially conflicting ones.)
Differential Revision: https://reviews.llvm.org/D101613
show more ...
|
#
c05d1eed |
| 11-Apr-2021 |
Christopher Di Bella <cjdb@google.com> |
[libcxx][iterator][ranges] adds `input_iterator` and `input_range`
Implements parts of: * P0896R4 The One Ranges Proposal`
Depends on D100269.
Differential Revision: https://reviews.llvm.org/D
[libcxx][iterator][ranges] adds `input_iterator` and `input_range`
Implements parts of: * P0896R4 The One Ranges Proposal`
Depends on D100269.
Differential Revision: https://reviews.llvm.org/D100271
show more ...
|
#
7c177315 |
| 11-Apr-2021 |
Christopher Di Bella <cjdb@google.com> |
[libcxx][ranges] adds `ranges::range`, `ranges::common_range`, and range aliases
* `std::ranges::range` * `std::ranges::sentinel_t` * `std::ranges::range_difference_t` * `std::ranges::range_value_t`
[libcxx][ranges] adds `ranges::range`, `ranges::common_range`, and range aliases
* `std::ranges::range` * `std::ranges::sentinel_t` * `std::ranges::range_difference_t` * `std::ranges::range_value_t` * `std::ranges::range_reference_t` * `std::ranges::range_rvalue_reference_t` * `std::ranges::common_range`
`range_size_t` depends on `sized_range` and will be added alongside it.
Implements parts of: * P0896R4 The One Ranges Proposal`
Depends on D100255.
Differential Revision: https://reviews.llvm.org/D100269
show more ...
|
#
5a3309f8 |
| 11-Apr-2021 |
Christopher Di Bella <cjdb@google.com> |
[libcxx][ranges] adds `range` access CPOs
* `std::ranges::begin` * `std::ranges::cbegin` * `std::ranges::end` * `std::ranges::cend` * `std::ranges::iterator` (required for `end`)
Implements parts o
[libcxx][ranges] adds `range` access CPOs
* `std::ranges::begin` * `std::ranges::cbegin` * `std::ranges::end` * `std::ranges::cend` * `std::ranges::iterator` (required for `end`)
Implements parts of: * P0896R4 The One Ranges Proposal`
Co-author: @zoecarver
Depends on D90999, D100160.
Differential Revision: https://reviews.llvm.org/D100255
show more ...
|