Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3
# 7c721999 23-Oct-2024 Xiaoyang Liu <siujoeng.lau@gmail.com>

[libc++][ranges] LWG4016: container-insertable checks do not match what container-inserter does (#113103)

This patch implements LWG4016: container-insertable checks do not match
what container-inse

[libc++][ranges] LWG4016: container-insertable checks do not match what container-inserter does (#113103)

This patch implements LWG4016: container-insertable checks do not match
what container-inserter does.

show more ...


Revision tags: llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init, llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5
# e74be35c 26-Apr-2024 Xiaoyang Liu <siujoeng.lau@gmail.com>

[libc++][ranges] LWG3984: ranges::to's recursion branch may be ill-formed (#87964)

This pull request implements LWG3984: ranges::to's recursion branch
may be ill-formed.

In the current implement

[libc++][ranges] LWG3984: ranges::to's recursion branch may be ill-formed (#87964)

This pull request implements LWG3984: ranges::to's recursion branch
may be ill-formed.

In the current implementation, ranges::to's recursion branch pipes the
range into a `views::transform(/* lambda */)`, which is a __range_adaptor_closure
object. In libc++, the pipe operator of __range_adaptor_closure requires a
viewable_range, so the following code won't compile, as the type of lvalue
`r` doesn't model viewable_range:

#include <ranges>
#include <vector>
#include <list>

int main() {
std::vector<std::vector<int>> v;
auto r = std::views::all(std::move(v));
auto l = std::ranges::to<std::list<std::list<int>>>(r);
}

Co-authored-by: A. Jiang <de34@live.cn>

show more ...


Revision tags: 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
# 64addd65 14-Dec-2023 Stephan T. Lavavej <stl@nuwen.net>

[libc++][test] Enhance ADDITIONAL_COMPILE_FLAGS, use TEST_MEOW_DIAGNOSTIC_IGNORED sparingly (#75317)

This is the last PR that's needed (for now) to get libc++'s tests
working with MSVC's STL.

Th

[libc++][test] Enhance ADDITIONAL_COMPILE_FLAGS, use TEST_MEOW_DIAGNOSTIC_IGNORED sparingly (#75317)

This is the last PR that's needed (for now) to get libc++'s tests
working with MSVC's STL.

The ADDITIONAL_COMPILE_FLAGS machinery is very useful, but also very
problematic for MSVC, as it doesn't understand most of Clang's compiler
options. We've been dealing with this by simply marking anything that
uses ADDITIONAL_COMPILE_FLAGS as FAIL or SKIPPED, but that creates
significant gaps in test coverage.

Fortunately, ADDITIONAL_COMPILE_FLAGS also supports "features", which
can be slightly enhanced to send Clang-compatible and MSVC-compatible
options to the right compilers.

This patch adds the gcc-style-warnings and cl-style-warnings Lit features,
and uses that to pass the appropriate warning flags to tests. It also uses
TEST_MEOW_DIAGNOSTIC_IGNORED for a few local suppressions of MSVC
warnings.

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
# 8b9a9866 27-Jul-2023 Konstantin Varlamov <varconsteq@gmail.com>

[libc++][ranges] Fix `ranges::to` test.

- Make a test for an internal concept libc++-only;
- Make sure that `size` and `capacity` in a test container return the
same type on all platforms.


Revision tags: llvmorg-18-init
# c3648f37 15-Jul-2023 varconst <varconsteq@gmail.com>

[libc++][ranges] Implement `ranges::to`.

Differential Revision: https://reviews.llvm.org/D142335