[libc++] Granularize some more type_traitsReviewed By: ldionne, #libcSpies: libcxx-commits, mgornyDifferential Revision: https://reviews.llvm.org/D128948
[libc++][NFC] Update #ifdef comments.These review comments weren't addressed in D129056.
[libc++] Prefer __has_builtin for detecting compiler-provided type_traitsBoth clang and GCC support using `__has_builtin` for detecting compiler-provided type_traits. Use it instead of `__has_keywo
[libc++] Prefer __has_builtin for detecting compiler-provided type_traitsBoth clang and GCC support using `__has_builtin` for detecting compiler-provided type_traits. Use it instead of `__has_keyword` or `__has_feature` to remove special-casing for GCC-provided builtinsReviewed By: ldionne, #libcSpies: libcxx-commitsDifferential Revision: https://reviews.llvm.org/D129056
show more ...
[libc++] Disentangle _If, _Or and _AndReviewed By: ldionne, #libc, EricWFSpies: EricWF, libcxx-commitsDifferential Revision: https://reviews.llvm.org/D127919
[libc++] Simplify type_traits and use more builtinsReviewed By: ldionne, #libcSpies: manojgupta, cjdb, ayzhao, alanphipps, libcxx-commitsDifferential Revision: https://reviews.llvm.org/D127226
[libc++] Simplify type_traits and use more builtinsReviewed By: ldionne, #libcSpies: manojgupta, cjdb, ayzhao, alanphipps, libcxx-commitsDifferential Revision: https://reviews.llvm.org/D127226Stuff
Revert "[libc++] Simplify type_traits and use more builtins"This reverts commit 42f8f557989741434d7b7b4439b3eef3e68b2ab5.Breaks float128 usage, test case provided in D127226.Differential Revisi
Revert "[libc++] Simplify type_traits and use more builtins"This reverts commit 42f8f557989741434d7b7b4439b3eef3e68b2ab5.Breaks float128 usage, test case provided in D127226.Differential Revision: https://reviews.llvm.org/D128587
[libc++] Reduces std::to_chars instantiations.Instead of instantiating all functions called by std::to_chars for theintegral types only instantiate them for 32 and 64 bit integral types.This resu
[libc++] Reduces std::to_chars instantiations.Instead of instantiating all functions called by std::to_chars for theintegral types only instantiate them for 32 and 64 bit integral types.This results in a smaller binary when using different types.In an example using the types: signed char, short, int, long, long long,unsigned char, unsigned short, unsigned int, unsigned long, andunsigned long long this saved 2792 bytes of code size. For libc++.so.1is saves 688 bytes of code size (64-bit Linux).This was discovered while investigating a solution for #52709.Reviewed By: #libc, ldionneDifferential Revision: https://reviews.llvm.org/D128215
[libc++] Implement std::boyer_moore{, _horspool}_searcherThis mostly copys the `<experimental/functional>` stuff and updates the code to current libc++ style.Reviewed By: ldionne, #libcSpies: n
[libc++] Implement std::boyer_moore{, _horspool}_searcherThis mostly copys the `<experimental/functional>` stuff and updates the code to current libc++ style.Reviewed By: ldionne, #libcSpies: nlopes, adamdebreceni, arichardson, libcxx-commits, mgornyDifferential Revision: https://reviews.llvm.org/D121074
[libc++] Remove macros for IBM compilerIt's not tested or used anymore -- instead a Clang-based compiler isused on IBM nowadays.Differential Revision: https://reviews.llvm.org/D127650
[libc++] Granularize some more of <type_traits>Reviewed By: ldionne, #libcSpies: libcxx-commits, mgornyDifferential Revision: https://reviews.llvm.org/D127631
[libc++] Simplify type_traits and use more builtinsReviewed By: ldionne, #libcSpies: libcxx-commitsDifferential Revision: https://reviews.llvm.org/D127226
[libc++] Remove uses of __two in type_traitsReviewed By: ldionne, #libcSpies: libcxx-commitsDifferential Revision: https://reviews.llvm.org/D127483
[libc++] Granularize even more of type_traitsReviewed By: ldionne, #libcSpies: libcxx-commits, mgornyDifferential Revision: https://reviews.llvm.org/D126593
[libc++] Fix conjunction/disjunction and mark a few LWG issues as completeFixes #54803Fixes #53133Reviewed By: ldionne, #libcSpies: libcxx-commits, mgornyDifferential Revision: https://revie
[libc++] Fix conjunction/disjunction and mark a few LWG issues as completeFixes #54803Fixes #53133Reviewed By: ldionne, #libcSpies: libcxx-commits, mgornyDifferential Revision: https://reviews.llvm.org/D125221
[libc++] Use __enable_if_t and is_integral in cstddefReviewed By: ldionne, #libcSpies: libcxx-commitsDifferential Revision: https://reviews.llvm.org/D126469
[libc++] Adds missing includes.This fixes the broken Apple builds. This has been tested in D121530(https://buildkite.com/llvm-project/libcxx-ci/builds/11113)
[libc++] Granularize more of <type_traits>Reviewed By: ldionne, #libcSpies: libcxx-commits, mgornyDifferential Revision: https://reviews.llvm.org/D126244
[libc++] Granularize parts of <type_traits>`<type_traits>` is quite a large header, so I'll granularize it in a few steps.Reviewed By: ldionne, #libcSpies: libcxx-commits, mgornyDifferential
[libc++] Granularize parts of <type_traits>`<type_traits>` is quite a large header, so I'll granularize it in a few steps.Reviewed By: ldionne, #libcSpies: libcxx-commits, mgornyDifferential Revision: https://reviews.llvm.org/D124755
[libc++] Add __is_callable type trait and begin granularizing type_traits`__is_callable` is required to ensure that the classic algorithms are only called with functions or functors. I also begin t
[libc++] Add __is_callable type trait and begin granularizing type_traits`__is_callable` is required to ensure that the classic algorithms are only called with functions or functors. I also begin to granularize `<type_traits>`.Reviewed By: ldionne, #libcSpies: libcxx-commits, mgornyDifferential Revision: https://reviews.llvm.org/D123114