summaryrefslogtreecommitdiffstats
path: root/libcxx
Commit message (Collapse)AuthorAgeFilesLines
...
* [libcxx] Omit unneeded locale fallbacks on Android 21+Shoaib Meenai2019-11-251-0/+2
| | | | | | | Android API level 21 and above have all these functions available, so we don't need to include our fallback definitions. Differential Revision: https://reviews.llvm.org/D69983
* [libcxx] Add Sergej Jaskiewicz to CREDITS.txtSergej Jaskiewicz2019-11-211-0/+4
| | | | | | | | | | | | Summary: Also, test commit access Reviewers: EricWF Subscribers: christof, ldionne, libcxx-commits Tags: #libc Differential Revision: https://reviews.llvm.org/D70526
* [libc++] Separate -include and path to the site config fileLouis Dionne2019-11-181-1/+1
| | | | | | | | This apparently breaks weird use cases where the build directory is on a separate drive. Someone reported that failure to me privately. I can't remember of a reason for collating the two arguments in the first place, so I don't think this should break anything.
* Fix _LIBCPP_HAS_ definitions for Android.Dan Albert2019-11-188-11/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Android added quick_exit()/at_quick_exit() in API level 21, aligned_alloc() in API level 28, and timespec_get() in API level 29, but has the other C11 features at all API levels (since they're basically just coming from clang directly). _LIBCPP_HAS_QUICK_EXIT and _LIBCPP_HAS_TIMESPEC_GET already existed, so we can reuse them. (And use _LIBCPP_HAS_TIMESPEC_GET in a few more places where _LIBCPP_HAS_C11_FEATURES has been used as a proxy. This isn't correct for Android.) _LIBCPP_HAS_ALIGNED_ALLOC is added, to cover aligned_alloc() (obviously). Add a missing std:: before aligned_alloc in a cstdlib test, and remove a couple of !defined(_WIN32)s now that we're explicitly testing TEST_HAS_ALIGNED_ALLOC rather than TEST_HAS_C11_FEATURES. Reviewers: danalbert, EricWF, mclow.lists Reviewed By: danalbert Subscribers: srhines, christof, libcxx-commits Tags: #libc Differential Revision: https://reviews.llvm.org/D69929
* Update the docs for building libc++.Dan Albert2019-11-181-25/+29
| | | | | | | | | | | | | | | | Summary: Rewrite the in-tree build to be a clearer tl;dr like we have for the out-of-tree build. Reviewers: EricWF, mclow.lists, ldionne Reviewed By: ldionne Subscribers: dexonsmith, christof, ldionne, enh, libcxx-commits Tags: #libc Differential Revision: https://reviews.llvm.org/D69917
* Rename __is_foo_iterator traits to reflect their Cpp17 nature.Eric Fiselier2019-11-1813-196/+200
| | | | | | | | | With the upcoming introduction of iterator concepts in ranges, the meaning of "__is_contiguous_iterator" changes drastically. Currently we intend it to mean "does it have this iterator category", but it could now also mean "does it meet the requirements of this concept", and these can be different.
* [libc++] Add _ITER_CONCEPT and _ITER_TRAITS implementations from C++20Eric Fiselier2019-11-164-1/+183
| | | | | | These traits are currently unused because we don't implement ranges. However, their addition is part of ongoing work to allow libc++ to optimize on user-provided contiguous iterators.
* [libc++] Add C++20 contiguous_iterator_tag.Eric Fiselier2019-11-163-1/+48
| | | | | This work is part of an ongoing effort to allow libc++ to optimize user provided contiguous iterators.
* [libc++] Rename __to_raw_pointer to __to_address.Eric Fiselier2019-11-167-100/+111
| | | | | | | This function has the same behavior as the now-standand std::to_address. Re-using the name makes the behavior more clear, and in the future it will allow us to correctly get the raw pointer for user provided pointer types.
* [libc++] [chrono] Fix year_month_weekday::ok() implementation.Marek Kurdej2019-11-152-5/+31
| | | | | | | | | | | | Reviewers: ldionne, EricWF, mclow.lists Reviewed By: mclow.lists Subscribers: christof, dexonsmith, libcxx-commits Tags: #libc Differential Revision: https://reviews.llvm.org/D70282
* [libcxx] use __builtin_isnan in std::isnan.Ilya Tokar2019-11-151-0/+4
| | | | | | | | | | | | Summary: This allows std::isnan to be fully inlined, instead of generating calls. Reviewers: EricWF Reviewed By: EricWF Subscribers: christof, ldionne Differential Revision: https://reviews.llvm.org/D69806
* [libc++] [P0920] [P1661] Update status page.Marek Kurdej2019-11-151-2/+2
|
* [libc++][P1872] span should have size_type, not index_type.Louis Dionne2019-11-1413-53/+53
| | | | | | Thanks to Marek Kurdej for the patch. Differential Revision: https://reviews.llvm.org/D70206
* [libc++] [P1612] Add missing feature-test macro __cpp_lib_endian.Louis Dionne2019-11-146-2/+52
| | | | | | Thanks to Marek Kurdej for the patch. Differential Revision: https://reviews.llvm.org/D70221
* libc++ status page: Fix HTML.Marek Kurdej2019-11-131-1/+1
|
* [libcxx testing] Fix -Wtautological-overlap-compare bugDavid Zarzycki2019-11-131-3/+3
|
* [libc++][P0980] Marked member functions move/copy/assign of char_traits ↵Michael Park2019-11-1116-56/+297
| | | | | | | | | | | | | | constexpr. Reviewers: ldionne, EricWF, mclow.lists Reviewed By: ldionne Subscribers: christof, dexonsmith, libcxx-commits Tags: #libc Differential Revision: https://reviews.llvm.org/D68840
* change LLVM_VERSION_SUFFIX default from svn to gitNick Desaulniers2019-11-111-1/+1
| | | | | | | | | | | | | | | | | Summary: Sayonara SVN! Signed-off-by: Nick Desaulniers <ndesaulniers@google.com> Reviewers: tstellar, jyknight, lebedev.ri, smeenai, mgorny, hans, mclow.lists Reviewed By: mgorny, hans Subscribers: christof, libcxx-commits, llvm-commits, srhines Tags: #libc, #llvm Differential Revision: https://reviews.llvm.org/D70019
* [libc++] Mark __call_once_proxy as hidden and internalLouis Dionne2019-11-111-1/+1
| | | | | | | | | We effectively never want to export that function, which is an implementation detail of libc++. This was previously tried in 603715c66b6b and then reverted in 8335dd314f36 because it caused linker warnings. These linker warnings should go away now that we use internal_linkage instead of always_inline to implement per-TU insulation.
* libc++ status page: New papers and issues adopted in Belfastmarshall2019-11-111-1/+62
|
* [libc++] Validate the entire regex is consumedMark de Wever2019-11-092-11/+23
| | | | | | | This change would have warned about the bug found in D62451. No unit tests since the exception should never throw. Differential Revision: https://reviews.llvm.org/D62452
* [libc++] Fix potential OOB in poisson_distributionLouis Dionne2019-11-073-22/+98
| | | | | See details in the original Chromium bug report: https://bugs.chromium.org/p/chromium/issues/detail?id=994957
* [libc++] Fixed copy/copy_n/copy_backward for compilers that do not support ↵Louis Dionne2019-11-075-7/+15
| | | | | | is_constant_evaluated. Differential Revision: https://reviews.llvm.org/D69940
* [libc++] Fix some constexpr tests broken by D68837Louis Dionne2019-11-074-4/+4
| | | | This doesn't fix all the issues with D68837
* [libcxx] Make generate_feature_test_macro_components script compatible with ↵Louis Dionne2019-11-061-86/+88
| | | | | | | | | Python 3. The script is still compatible with Python 2 as well. Thanks to Marek Kurdej for the patch. Differential Revision: https://reviews.llvm.org/D69884
* [libc++][P0202] Marked algorithms copy/copy_n/copy_if/copy_backward constexprLouis Dionne2019-11-069-214/+233
| | | | | | Thanks to Michael Park for the patch. Differential Revision: https://reviews.llvm.org/D68837
* Optimize std::midpoint for integersJorg Brown2019-11-041-10/+7
| | | | | | | | | | | | | | Same idea as the current algorithm, that is, add (half of the difference between a and b) to a. But we use a different technique for computing the difference: we compute b - a into a pair of integers that are named "sign_bit" and "diff". We have to use a pair because subtracting two 32-bit integers produces a 33-bit result. Computing half of that is a simple matter of shifting diff right by 1, and adding sign_bit shifted left by 31. llvm knows how to do that with one instruction: shld. The only tricky part is that if the difference is odd and negative, then shifting it by one isn't the same as dividing it by two - shifting a negative one produces a negative one, for example. So there's one more adjustment: if the sign bit and the low bit of diff are one, we add one. For a demonstration of the codegen difference, see https://godbolt.org/z/7ar3K9 , which also has a built-in test. Differential Revision: https://reviews.llvm.org/D69459
* build: avoid custom handling for C++ standardSaleem Abdulrasol2019-11-021-14/+11
| | | | | | Use the builtin CMake support for specifying the proper flags for the targets to build at a certain C++ standard. This avoids unnecessary checks in CMake, speeding up the configure phase as well as simplifies the logic overall.
* [libcxx] Disable -Wconstant-evaluated for testsuiteDávid Bolvanský2019-11-011-0/+1
| | | | | | | | | | Reviewers: EricWF Subscribers: christof, ldionne, libcxx-commits Tags: #libc Differential Revision: https://reviews.llvm.org/D69708
* [libc++] Add test and remove workaround for PR13592Louis Dionne2019-10-302-5/+10
| | | | | | | | PR13592 was caused by a problem in how to compiler implemented the __is_convertible_to intrinsic. That problem, reported as PR13591, was fixed back in 2012. We don't support such old versions of Clang anyway, so we don't need the library workaround that had been added to solve PR13592 (while waiting for the compiler fix).
* [libc++] Force the ABI namespace to be a reserved identifierLouis Dionne2019-10-291-1/+1
| | | | | | | | | | | | | | | | Summary: When the ABI namespace isn't a reserved identifier, we were issuing a warning, but this should have been an error since the beginning. This commit enforces that the ABI namespace is a reserved identifier, and changes the ABI namespace used by LibFuzzer. Reviewers: phosek, EricWF Subscribers: mgorny, christof, jkorous, dexonsmith, #sanitizers, libcxx-commits, llvm-commits Tags: #sanitizers, #libc, #llvm Differential Revision: https://reviews.llvm.org/D69408
* PR43764: Qualify a couple of calls to forward_as_tuple to be ADL-resilient.David Blaikie2019-10-282-11/+29
|
* [NFC] Comment endif to test commit access--global2019-10-281-1/+1
|
* Add all the issues to be voted upon in Belfastmarshall2019-10-261-41/+56
|
* [libcxx] [test] Run `chmod +x` on executables when testing via SSHLouis Dionne2019-10-251-4/+16
| | | | | | | | | | | When running libc++ tests on a remote machine via SSH, we can encounter a 'Permission denied' error. Fix this with plain old 'chmod +x <executable>'. Thanks to Sergej Jaskiewicz for the patch. Differential Revision: https://reviews.llvm.org/D69170
* [www] Change URLs to HTTPS.Stephan T. Lavavej2019-10-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | This changes most URLs in llvm's html files to HTTPS. Most changes were search-and-replace with manual verification; some changes were manual. For a few URLs, the websites were performing redirects or had changed their anchors; I fixed those up manually. This consistently uses the official https://wg21.link redirector. This also strips trailing whitespace and fixes a couple of typos. Fixes D69363. There are a very small number of dead links for which I don't know any replacements (they are equally dead as HTTP or HTTPS): https://llvm.org/cmds/llvm2cpp.html https://llvm.org/devmtg/2010-11/videos/Grosser_Polly-desktop.mp4 https://llvm.org/devmtg/2010-11/videos/Grosser_Polly-mobile.mp4 https://llvm.org/devmtg/2011-11/videos/Grosser_PollyOptimizations-desktop.mov https://llvm.org/devmtg/2011-11/videos/Grosser_PollyOptimizations-mobile.mp4 https://llvm.org/perf/db_default/v4/nts/22463 https://polly.llvm.org/documentation/memaccess.html
* [libcxx][NFC] Strip trailing whitespace, fix typo.Stephan T. Lavavej2019-10-2320-37/+37
|
* [NFC] Strip trailing whitespace from libc++Louis Dionne2019-10-2398-252/+252
|
* [libc++][NFC] Remove excess trailing newlines from most filesCasey Carter2019-10-2350-54/+0
| | | | Testing git commit access.
* [libcxx][test][NFC] Fix comment typos.Stephan T. Lavavej2019-10-2223-29/+29
| | | | (Testing git commit access.)
* [NFC] Strip trailing whitespace in test to test Github committingLouis Dionne2019-10-221-1/+1
|
* [libcxx] Remove shared_ptr::make_sharedZoe Carver2019-10-221-24/+21
| | | | | | | | | | | | | | Summary: This patch removes `shared_ptr::make_shared` as it is not part of the standard. This patch also adds __create_with_cntrl_block, which is a help function that can be used in std::allocate_shared and std::make_shared. This is the third patch (out of 4) from D66178. Reviewers: EricWF, mclow.lists, ldionne Subscribers: christof, dexonsmith, libcxx-commits Tags: #libc Differential Revision: https://reviews.llvm.org/D68805 llvm-svn: 375504
* [NFC] Fix typos in CMake commentLouis Dionne2019-10-211-2/+2
| | | | llvm-svn: 375469
* Refine check for `_LIBCPP_C_HAS_NO_GETS` on FreeBSDDimitry Andric2019-10-191-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | Summary: In D67316 we added `_LIBCPP_C_HAS_NO_GETS` to signal that the C library does not provide `gets()`, and added a test for FreeBSD 13 or higher, using the compiler-defined `__FreeBSD__` macro. Unfortunately this did not work that well for FreeBSD's own CI process, since the gcc compilers used for some architectures define `__FreeBSD__` to match the build host, not the target. Instead, we should use the `__FreeBSD_version` macro from the userland header `<osreldate.h>`, which is more fine-grained. See also <https://reviews.freebsd.org/D22034>. Reviewers: EricWF, mclow.lists, emaste, ldionne Reviewed By: emaste, ldionne Subscribers: dexonsmith, bsdjhb, krytarowski, christof, ldionne, libcxx-commits Differential Revision: https://reviews.llvm.org/D69174 llvm-svn: 375340
* P1152R4: Fix deprecation warnings in libc++ testsuite and in uses of ↵Richard Smith2019-10-193-0/+23
| | | | | | | | | | | | | | | | is_invocable that would internally conjure up a deprecated function type. Summary: The implementation of P1152R4 in Clang has resulted in some deprecation warnings appearing in the libc++ and libc++abi test suite. Fix or suppress these warnings. Reviewers: mclow.lists, EricWF Subscribers: christof, ldionne, libcxx-commits Tags: #libc Differential Revision: https://reviews.llvm.org/D68879 llvm-svn: 375307
* [libc++][test] Use <version> to get config on MSVCCasey Carter2019-10-153-6/+6
| | | | | | | | ...instead of `<ciso646>`. Also includes some NFC comment changes. llvm-svn: 374854
* [libc++][test] Portability fix for std::any testsCasey Carter2019-10-141-2/+2
| | | | | | Ensure that `large_tracked_t` defined in `any_helpers.h` is in fact too large to fit in `std::any`'s small object buffer. llvm-svn: 374806
* [libc++][test] Add license headers to test/support/archetypes.*Casey Carter2019-10-142-0/+15
| | | | | | Differential Revision: https://reviews.llvm.org/D68947 llvm-svn: 374797
* [libc++][test] Silence more warnings in variant testsCasey Carter2019-10-144-4/+4
| | | | | | More cases of signed-to-unsigned conversion warnings that missed the train for d2623522. llvm-svn: 374778
* [libc++][test] std::variant test cleanupCasey Carter2019-10-136-5/+7
| | | | | | | | * Add the conventional `return 0` to `main` in `variant.assign/conv.pass.cpp` and `variant.ctor/conv.pass.cpp` * Fix some MSVC signed-to-unsigned conversion warnings by replacing `int` literarls with `unsigned int` literals llvm-svn: 374723
OpenPOWER on IntegriCloud