| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[libc++][ranges] P1223R5: find_last (#99312) Implements [P1223R5][] completely. Includes an implementation of find_last, find_last_if, and find_last_if_not. [P1223R5]: https://wg21.link/p1223r5 | 2 年前 | |
[libc++] Fix name of is_always_lock_free test which was never being run (#106077) (cherry picked from commit b45661953e6974782b0ccada6f0784db04bc693f) | 1 年前 | |
[libc++] Remove the allocator<const T> extension (#96319) This effort has quite a history: - This was first attempted in 2022 via bed3240bf7d1, which broke std::shared_ptr<T const> and caused the change to be reverted in 9138666f5464. - We then re-attempted landing the change in 276ca87382b8 after fixing std::shared_ptr, but reports were made that this broke code en masse within Google. This led to the patch being reverted again in a54d028895c9 with the goal to land this again with a migration path for vendors. This patch re-lands the removal while providing a migration path for vendors by providing the _LIBCPP_ENABLE_REMOVED_ALLOCATOR_CONST macro. This macro will be honored for the LLVM 19 release and will be removed after that, at which point allocator<const T> will be removed unconditionally. Fixes #73665 | 2 年前 | |
[libc++] Fix rejects-valid in std::span copy construction (#104500) Trying to copy-construct a std::span from another std::span holding an incomplete type would fail as we evaluate the SFINAE for the range-based constructor. The problem was that we checked for __is_std_span after checking for the range being a contiguous_range, which hard-errored because of arithmetic on a pointer to incomplete type. As a drive-by, refactor the whole test and format it. Fixes #104496 (cherry picked from commit 99696b35bc8a0054e0b0c1a26e8dd5049fa8c41b) | 1 年前 | |
[libc++] Undeprecate POSIX STREAM macros. (#88296) LWG3869 Deprecate std::errc constants related to UNIX STREAMS deprecates the POSIX macros ENODATA, ENOSR, ENOSTR, and ETIME. These were deprecated in libc++ in https://github.com/llvm/llvm-project/pull/80542. Based on the post commit feedback the macro are no longer deprecated. Instead libc++ leaves the deprecation to the provider of errno.h. --------- Co-authored-by: Hristo Hristov <zingam@outlook.com> Co-authored-by: Louis Dionne <ldionne.2@gmail.com> | 2 年前 | |
[libc++] Clean up and update deployment target features (#96312) This patch removes many annotations that are not relevant anymore since we don't support or test back-deploying to macOS < 10.13. It also cleans up raw usage of target triples to identify versions of dylibs shipped on prior versions of macOS, and uses the target-agnostic Lit features instead. Finally, it reorders both the Lit backdeployment features and the corresponding availability macros in the library in a way that makes more sense, and reformulates the Lit backdeployment features in terms of when a version of LLVM was introduced instead of encoding the system versions on which it hasn't been introduced yet. Although one can be derived from the other, encoding the negative form is extremely error-prone. Fixes #80901 | 2 年前 | |
[libc++] Clean up and update deployment target features (#96312) This patch removes many annotations that are not relevant anymore since we don't support or test back-deploying to macOS < 10.13. It also cleans up raw usage of target triples to identify versions of dylibs shipped on prior versions of macOS, and uses the target-agnostic Lit features instead. Finally, it reorders both the Lit backdeployment features and the corresponding availability macros in the library in a way that makes more sense, and reformulates the Lit backdeployment features in terms of when a version of LLVM was introduced instead of encoding the system versions on which it hasn't been introduced yet. Although one can be derived from the other, encoding the negative form is extremely error-prone. Fixes #80901 | 2 年前 | |
[libc++] <experimental/simd> Add swap functions of simd reference (#86478) | 2 年前 | |
[NFC][libc++][test] loosen XFAIL condition for setfill_wchar_max.pass.cpp So we can also match aarch64 triples which have four components instead of three when disabling the test, which the case on some buildbots. Follow on to #89305 | 2 年前 | |
[libc++] Speed up set_intersection() by fast-forwarding over ranges of non-matching elements with one-sided binary search. (#75230) One-sided binary search, aka meta binary search, has been in the public domain for decades, and has the general advantage of being constant time in the best case, with the downside of executing at most 2*log(N) comparisons vs classic binary search's exact log(N). There are two scenarios in which it really shines: the first one is when operating over non-random-access iterators, because the classic algorithm requires knowing the container's size upfront, which adds N iterator increments to the complexity. The second one is when traversing the container in order, trying to fast-forward to the next value: in that case the classic algorithm requires at least O(N*log(N)) comparisons and, for non-random-access iterators, O(N^2) iterator increments, whereas the one-sided version will yield O(N) operations on both counts, with a best-case of O(log(N)) comparisons which is very common in practice. | 2 年前 | |
[libc++] Adjust the version of __cpp_lib_ranges in C++20 mode This is a (very partial) cherry-pick of #101715 to fix this oversight in the LLVM 19 release. | 1 年前 | |
[libc++][ranges] P1223R5: find_last (#99312) Implements [P1223R5][] completely. Includes an implementation of find_last, find_last_if, and find_last_if_not. [P1223R5]: https://wg21.link/p1223r5 | 2 年前 | |
[libcxx] [test] Make indentation more consistent in thousands_sep. NFC. (#99844) This was made inconsistent recently in f114eddb1923289b696f1b0980cc22c4dbaafa22. | 2 年前 | |
[libc++] Add "using-if-exists" to timespec_get in modules (#78686) Picolibc does not provide timespec_get function. Adding "using-if-exists" attribute fixes the modules. This is a follow up patch for https://github.com/llvm/llvm-project/pull/78580 | 2 年前 | |
[runtimes] Rename various libcpp-has-no-XYZ Lit features to just no-XYZ Since those features are general properties of the environment, it makes sense to use them from libc++abi too, and so the name libcpp-has-no-xxx doesn't make sense. Differential Revision: https://reviews.llvm.org/D126482 | 4 年前 | |
| 1 年前 | ||
[libc++][ranges] LWG3618: Unnecessary iter_move for transform_view::iterator (#91809) ## Introduction This patch implements LWG3618: Unnecessary iter_move for transform_view::iterator. transform_view's iterator currently specifies a customization point for iter_move. This customization point does the same thing that the default implementation would do, but its sole purpose is to ensure the appropriate conditional noexcept specification. ## Reference - [[range.transform.iterator]](https://eel.is/c++draft/range.transform.iterator) - [LWG3618](https://cplusplus.github.io/LWG/issue3618) | 2 年前 | |
[NFC][libc++][test][AIX] UnXFAIL LIT test transform.pass.cpp (#102338) Remove XFAIL: LIBCXX-AIX-FIXME from lit test transform.pass.cpp now that AIX system call wcsxfrm/wcsxfrm_l is fixed in AIX 7.2.5.8 and 7.3.2.2 and buildbot machines have been upgraded. Backported from commit cb5912a71061c6558bd4293596dcacc1ce0ca2f6 | 1 年前 | |
[libc++][spaceship] Implements X::iterator container requirements. (#99343) This implements the requirements for the container iterator requirements for array, deque, vector, and vector<bool>. Implements: - LWG3352 strong_equality isn't a thing Implements parts of: - P1614R2 The Mothership has Landed Fixes: https://github.com/llvm/llvm-project/issues/62486 | 2 年前 | |
[libc++] Make std::lock_guard available with _LIBCPP_HAS_NO_THREADS (#98717) This change makes std::lock_guard available when _LIBCPP_HAS_NO_THREADS is set. This class is generic and doesn't require threading support, and is regularly used even in environments where threading isn't available like embedded. fixes #89891 --------- Co-authored-by: Louis Dionne <ldionne.2@gmail.com> | 2 年前 | |
[libcxx][test] Use smaller time range for 32 bit time_t (#104762) This fixes the test on Arm 32 bit Ubuntu Jammy where time_t is 32 bit. (cherry picked from commit cdd608b8f0ce090b3568238387df368751bdbb5d) | 1 年前 | |
| 1 年前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 2 年前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 4 年前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 1 年前 | ||
| 1 年前 |