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 |
|
#
cf09b7de |
| 20-Mar-2024 |
Xiaoyang Liu <siujoeng.lau@gmail.com> |
[libc++][ranges] LWG3715: `view_interface::empty` is overconstrained (#85004)
## Abstract
This pull request implements LWG3715: `view_interface::empty` is
overconstrained. Here is an example sim
[libc++][ranges] LWG3715: `view_interface::empty` is overconstrained (#85004)
## Abstract
This pull request implements LWG3715: `view_interface::empty` is
overconstrained. Here is an example similar to those described in the
report, which compiles with `-stdlib=libstdc++` but failed to compile
with `-stdlib=libc++`:
```cpp
// https://godbolt.org/z/EWEoTzah3
std::istringstream input("1 2 3 4 5");
auto i = std::views::istream<int>(input);
auto r = std::views::counted(i.begin(), 4) | std::views::take(2);
assert(!r.empty());
```
## Reference
- [Draft C++ Standard:
[view.interface.general]](https://eel.is/c++draft/view.interface.general)
- [LWG3715](https://wg21.link/LWG3715)
show more ...
|
Revision tags: 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, 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, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0 |
|
#
fb855eb9 |
| 14-Mar-2023 |
Mark de Wever <koraq@xs4all.nl> |
[libc++] Qualifies size_t.
This has been done using the following command
find libcxx/test -type f -exec perl -pi -e 's|^([^/]+?)((?<!::)size_t)|\1std::\2|' \{} \;
And manually removed some fals
[libc++] Qualifies size_t.
This has been done using the following command
find libcxx/test -type f -exec perl -pi -e 's|^([^/]+?)((?<!::)size_t)|\1std::\2|' \{} \;
And manually removed some false positives in std/depr/depr.c.headers.
The `std` module doesn't export `::size_t`, this is a preparation for that module.
Reviewed By: ldionne, #libc, EricWF, philnik
Differential Revision: https://reviews.llvm.org/D146088
show more ...
|
Revision tags: 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 |
|
#
17e6bd80 |
| 12-Jan-2023 |
Konstantin Varlamov <varconst@apple.com> |
[libc++][ranges] Fix incorrect integer type in `view_interface` tests.
`ForwardIter() - ForwardIter()` returns `ptrdiff_t`, and converting it to an unsigned type isn't guaranteed to produce the same
[libc++][ranges] Fix incorrect integer type in `view_interface` tests.
`ForwardIter() - ForwardIter()` returns `ptrdiff_t`, and converting it to an unsigned type isn't guaranteed to produce the same type as `size_t`.
Reviewed By: #libc, ldionne
Differential Revision: https://reviews.llvm.org/D141456
show more ...
|
#
c45f382a |
| 13-Dec-2022 |
Igor Zhukov <fsb4000@yandex.ru> |
Implement LWG-3646 std::ranges::view_interface::size returns a signed type
Reviewed By: Mordante, philnik, #libc
Differential Revision: https://reviews.llvm.org/D139791
|
Revision tags: 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 |
|
#
5f26d863 |
| 01-Mar-2022 |
Mark de Wever <koraq@xs4all.nl> |
[libc++] Removes base member from tests.
Change the tests to use the base friend function instead of members. Also changed some types to have a base friends instead of members.
Reviewed By: #libc,
[libc++] Removes base member from tests.
Change the tests to use the base friend function instead of members. Also changed some types to have a base friends instead of members.
Reviewed By: #libc, ldionne, Quuxplusone
Differential Revision: https://reviews.llvm.org/D120742
show more ...
|
#
7bdf4165 |
| 09-Feb-2022 |
Arthur O'Dwyer <arthur.j.odwyer@gmail.com> |
[libc++] Remove conditional noexcepts from view_interface.
As suggested in D117966. These conditional noexcepts are *permitted* by the Standard (as long as there were no mistakes in them, I guess);
[libc++] Remove conditional noexcepts from view_interface.
As suggested in D117966. These conditional noexcepts are *permitted* by the Standard (as long as there were no mistakes in them, I guess); but not *mandated*. The Standard doesn't put any noexcept-specifications on these member functions. The same logic would apply to `transform_view::iterator::operator*` and `transform_view::iterator::operator[]`, but the Standard mandates conditional noexcept on `iter_move(transform_view::iterator)`, and I think it doesn't make much sense to say "moving from this iterator is conditionally noexcept but not-moving from it is noexcept(false)," so I'm leaving transform_view alone for now.
Differential Revision: https://reviews.llvm.org/D119374
show more ...
|
Revision tags: llvmorg-14.0.0-rc1, llvmorg-15-init |
|
#
c93a531c |
| 22-Jan-2022 |
Casey Carter <Casey@Carter.net> |
[libcxx][test] tests for strengthened `noexcept` are non-portable
Differential Revision: https://reviews.llvm.org/D117966
|
Revision tags: llvmorg-13.0.1, llvmorg-13.0.1-rc3 |
|
#
2513b790 |
| 19-Jan-2022 |
Joe Loser <joeloser93@gmail.com> |
[libc++] Implement LWG3549: view_interface need not inherit from view_base
Implement LWG3549 by making `view_interface` not inherit from `view_base`. Types are still views if they have a public and
[libc++] Implement LWG3549: view_interface need not inherit from view_base
Implement LWG3549 by making `view_interface` not inherit from `view_base`. Types are still views if they have a public and unambiguous derivation from `view_interface`, so adjust the `enable_view` machinery as such to account for that.
Differential Revision: https://reviews.llvm.org/D117714
show more ...
|
Revision tags: llvmorg-13.0.1-rc2 |
|
#
b8d38e8b |
| 29-Dec-2021 |
Casey Carter <Casey@Carter.net> |
[libcxx][test] view_interface need not derive from view_base
... after LWG-3549.
Differential Revision: https://reviews.llvm.org/D117608
|
Revision tags: llvmorg-13.0.1-rc1 |
|
#
c3cd5f5b |
| 27-Oct-2021 |
Joe Loser <joeloser93@gmail.com> |
[libc++][test] Fix invalid test for views::view_interface
The type `MoveOnlyForwardRange` violates the precondition stated in `view.interface.general`. Specifically, the type passed to `view_interfa
[libc++][test] Fix invalid test for views::view_interface
The type `MoveOnlyForwardRange` violates the precondition stated in `view.interface.general`. Specifically, the type passed to `view_interface` shall model the `view` concept. In turn, this requires the type to satisfy `movable` concept (and others), but this type `MoveOnlyForwardRange` does not satisfy the `movable` concept.
Add a move assignment operator so that `MoveOnlyForwardRange` satisfies the `movable` concept. While we're here, ensure the neighboring types that inherit from `view_interface` also satisfy the `view` concept to avoid similar issues.
Fixes https://bugs.llvm.org/show_bug.cgi?id=50720
Reviewed By: Quuxplusone, Mordante, #libc
Differential Revision: https://reviews.llvm.org/D112631
show more ...
|
Revision tags: llvmorg-13.0.0, llvmorg-13.0.0-rc4, llvmorg-13.0.0-rc3, 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 ...
|
Revision tags: llvmorg-12.0.1, llvmorg-12.0.1-rc4, llvmorg-12.0.1-rc3, llvmorg-12.0.1-rc2 |
|
#
389e749c |
| 14-Jun-2021 |
Arthur O'Dwyer <arthur.j.odwyer@gmail.com> |
[libc++] [test] Fix some GCC 11 errors/warnings in these tests. NFCI.
Differential Revision: https://reviews.llvm.org/D104228
|
Revision tags: llvmorg-12.0.1-rc1 |
|
#
5671ff20 |
| 30-Apr-2021 |
zoecarver <z.zoelec2@gmail.com> |
[libcxx] Implement view.interface.
This will unblock work on ranges::view. Based on D101396.
Refs http://eel.is/c++draft/view.interface.
Differential Revision: https://reviews.llvm.org/D101737
|