diff options
| author | Alex Rønne Petersen <alex@alexrp.com> | 2025-02-05 10:50:09 +0100 |
|---|---|---|
| committer | Alex Rønne Petersen <alex@alexrp.com> | 2025-04-04 06:08:09 +0200 |
| commit | 156ab8750056c3ff440af0937806d8cdb2623816 (patch) | |
| tree | 26956c58e4d169279885ab94d479f8b9f4285872 /lib/libcxx/src/algorithm.cpp | |
| parent | 7ab01c9a42fa0262d67d9ff1a0ecde24fb7031e7 (diff) | |
| download | zig-156ab8750056c3ff440af0937806d8cdb2623816.tar.gz zig-156ab8750056c3ff440af0937806d8cdb2623816.zip | |
libcxx: Update to Clang 20.
See:
* https://discourse.llvm.org/t/rfc-freezing-c-03-headers-in-libc/77319
* https://discourse.llvm.org/t/rfc-project-hand-in-hand-llvm-libc-libc-code-sharing/77701
We're dropping support for C++03 for Zig due to the first change; it would be
insane to ship 1018 duplicate header files just for this outdated use case.
As a result of the second change, I had to bring in a subset of the headers from
llvm-libc since libc++ now depends on these. Hopefully we can continue to get
away with not copying the entirety of llvm-libc.
Diffstat (limited to 'lib/libcxx/src/algorithm.cpp')
| -rw-r--r-- | lib/libcxx/src/algorithm.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/lib/libcxx/src/algorithm.cpp b/lib/libcxx/src/algorithm.cpp index af9d60a8e2..d388fee5f9 100644 --- a/lib/libcxx/src/algorithm.cpp +++ b/lib/libcxx/src/algorithm.cpp @@ -21,13 +21,12 @@ void __sort(RandomAccessIterator first, RandomAccessIterator last, Comp comp) { std::__introsort<_ClassicAlgPolicy, ranges::less, RandomAccessIterator, - __use_branchless_sort<ranges::less, RandomAccessIterator>::value>( - first, last, ranges::less{}, depth_limit); + __use_branchless_sort<ranges::less, RandomAccessIterator>>(first, last, ranges::less{}, depth_limit); } // clang-format off template void __sort<__less<char>&, char*>(char*, char*, __less<char>&); -#ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS +#if _LIBCPP_HAS_WIDE_CHARACTERS template void __sort<__less<wchar_t>&, wchar_t*>(wchar_t*, wchar_t*, __less<wchar_t>&); #endif template void __sort<__less<signed char>&, signed char*>(signed char*, signed char*, __less<signed char>&); |
