summaryrefslogtreecommitdiffstats
path: root/libcxx
Commit message (Collapse)AuthorAgeFilesLines
...
* Add move-only types test for transform_reduce bop/uop.Billy Robert O'Neal III2018-01-051-0/+13
| | | | llvm-svn: 321848
* Fix nonstandard bits in transform_reduce_iter_iter_init_bop_uop.Billy Robert O'Neal III2018-01-051-43/+27
| | | | | | | | * _VSTD should be std. * <utility> is needed for forward. * unary_function is no longer standard (and unnecessary for this, a C++17-only test) llvm-svn: 321847
* Update version to 7.0.0svn: cmake, include files and docsHans Wennborg2018-01-034-5/+5
| | | | llvm-svn: 321725
* Mark LWG2824 as complete. We already did it, but I added a test to be sureMarshall Clow2018-01-032-2/+43
| | | | llvm-svn: 321689
* Mark issue #2866 as "nothing to do"Marshall Clow2018-01-031-2/+2
| | | | llvm-svn: 321687
* Implement p0258r2: has_unique_object_representationsMarshall Clow2018-01-034-4/+136
| | | | llvm-svn: 321685
* One more (should be) inline variable that is defined in the dylibMarshall Clow2018-01-021-3/+3
| | | | llvm-svn: 321666
* Un-inline a few more variables that are exported from the dylib.Marshall Clow2018-01-022-11/+11
| | | | llvm-svn: 321664
* Temporarily revert the inlining of 'piecewise_construct' because it is ↵Marshall Clow2018-01-021-1/+1
| | | | | | exported from the dylib. llvm-svn: 321663
* A couple more inlined variables that I missed the first timeMarshall Clow2018-01-022-8/+14
| | | | llvm-svn: 321661
* Implement most of P0607: Inline Variables for the Standard Library. This ↵Marshall Clow2018-01-0215-217/+295
| | | | | | involved marking a lot of variables as inline (but only for C++17 and later). llvm-svn: 321658
* Try again, this time with the correct addressJonathan Roelofs2017-12-291-1/+1
| | | | llvm-svn: 321570
* Update CREDITS.txt with personal emailJonathan Roelofs2017-12-291-1/+1
| | | | llvm-svn: 321563
* [libcxx] Suppress unused warning on apple.Don Hinton2017-12-251-0/+1
| | | | | | | | | | | | | | | | Summary: This warning is already suppressed on non-apple platforms, so this change just suppresses it on apple as well. Reviewers: EricWF, lichray Reviewed By: lichray Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D41248 llvm-svn: 321435
* Fix the definitions of 'reference' and 'pointer' in string_view that no one ↵Marshall Clow2017-12-202-2/+79
| | | | | | uses :-). Thanks to K-ballo for the catch. llvm-svn: 321188
* libcxx: Fix for basic_stringbuf::seekoff() after r320604.Peter Collingbourne2017-12-192-2/+27
| | | | | | | | | | | | | As a result of this change, the basic_stringbuf constructor that takes a mode ends up leaving __hm_ set to 0, causing the comparison "__hm_ - __str_.data() < __noff" in seekoff() to succeed, which caused the function to incorrectly return -1. The fix is to account for the possibility of __hm_ being 0 when computing the distance from __hm_ to the start of the string. Differential Revision: https://reviews.llvm.org/D41319 llvm-svn: 321124
* [libcxx] Add WebAssembly supportSam Clegg2017-12-162-1/+3
| | | | | | | | | | | | It turns out that this is the only change required in libcxx for it to compile with the new `wasm32-unknown-unknown-wasm` target recently added to Clang. Patch by Nicholas Wilson! Differential Revision: https://reviews.llvm.org/D41073 llvm-svn: 320925
* [libcxx] Fix basic_stringbuf constructorZhihao Yuan2017-12-132-1/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: [libcxx] Fix basic_stringbuf constructor The C++ Standard [stringbuf.cons]p1 defines the effects of the basic_stringbuf constructor that takes ios_base::openmode as follows: Effects: Constructs an object of class basic_stringbuf, initializing the base class with basic_streambuf(), and initializing mode with which. Postconditions: str() == "". The default constructor of basic_streambuf shall initialize all its pointer member objects to null pointers [streambuf.cons]p1. Currently libc++ calls "str(string_type());" in the aforementioned constructor setting basic_streambuf's pointers to a non-null value. This patch removes the call (note that the postcondition str() == "" remains valid because __str_ is default-initialized) and adds a test checking that the basic_streambuf's pointers are null after construction. Thanks Mikhail Maltsev for the patch. Reviewers: EricWF, mclow.lists Reviewed By: mclow.lists Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D40707 llvm-svn: 320604
* [libcxx] [test] Fix line endings, avoid unnecessary non-ASCII.Stephan T. Lavavej2017-12-133-57/+57
| | | | | | | | | | | | | | | benchmarks/util_smartptr.bench.cpp Change CRLF to LF. test/std/localization/locale.categories/category.monetary/locale.money.get/locale.money.get.members/get_long_double_fr_FR.pass.cpp Consistently comment "\u20ac" as EURO SIGN, its Unicode name, instead of the actual Unicode character. test/std/utilities/allocator.adaptor/allocator.adaptor.members/construct_type.pass.cpp Avoid non-ASCII dash. Fixes D40991. llvm-svn: 320536
* [libcxx] [test] Fix MSVC warnings, null pointer deref.Stephan T. Lavavej2017-12-135-8/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | test/std/algorithms/alg.modifying.operations/alg.generate/generate_n.pass.cpp Silence MSVC warning C4244. This is expected when passing floating-point values for size. test/std/utilities/template.bitset/bitset.members/to_ullong.pass.cpp test/std/utilities/template.bitset/bitset.members/to_ulong.pass.cpp Avoid MSVC "warning C4293: '<<': shift count negative or too big, undefined behavior". MSVC sees (1ULL << N) and warns - being guarded by const bool canFit is insufficient. A small change to the code avoids the warning without the need for a pragma. Remove a spurious printf() declaration from to_ullong.pass.cpp. Change ULL to UL in to_ulong.pass.cpp. The ULL suffix was probably copy-pasted. test/std/utilities/tuple/tuple.general/ignore.pass.cpp Use LIBCPP_STATIC_ASSERT for consistency with other files. test/support/container_test_types.h Fix a null pointer dereference, found by MSVC /analyze warning C6011 "Dereferencing NULL pointer 'm_expected_args'." Fixes D41030. llvm-svn: 320535
* [libcxx] P0604, invoke_result and is_invocableZhihao Yuan2017-12-1210-319/+407
| | | | | | | | | | | | | | | | | | | | Summary: Introduce a new form of `result_of` without function type encoding. Rename and split `is_callable/is_nothrow_callable` into `is_invocable/is_nothrow_invocable/is_invocable_r/is_nothrow_invocable_r` (and associated types accordingly) Change function type encoding of previous `is_callable/is_nothrow_callable` traits to conventional template type parameter lists. Reviewers: EricWF, mclow.lists, bebuch Reviewed By: EricWF, bebuch Subscribers: lichray, bebuch, cfe-commits Differential Revision: https://reviews.llvm.org/D38831 llvm-svn: 320509
* workaround PR 28385 in __find_exactly_one_checkedCasey Carter2017-12-121-3/+3
| | | | | | | | Fixes #35578. Differential Revision: D41048 llvm-svn: 320500
* [libcxx] Define istream_iterator equality comparison operators out-of-lineRoger Ferrer Ibanez2017-12-112-4/+29
| | | | | | | | | | | | | | | | | Currently libc++ defines operator== and operator!= as friend functions in the definition of the istream_iterator class template. Such definition has a subtle difference from an out-of-line definition required by the C++ Standard: these functions can only be found by argument-dependent lookup, but not by qualified lookup. This patch changes the definition, so that it conforms to the C++ Standard and adds a check involving qualified lookup to the test suite. Patch contributed by Mikhail Maltsev. Differential Revision: https://reviews.llvm.org/D40415 llvm-svn: 320363
* [libc++] Unbreak Apple buildbotsShoaib Meenai2017-12-081-0/+1
| | | | | | | | These buildbots are using the deprecated target name install-libcxx-headers instead of the more up to date install-cxx-headers, so I need to add an install-libcxx-headers-stripped target to satisfy them. llvm-svn: 320201
* [libcxx] [test] Strip trailing whitespace. NFC.Stephan T. Lavavej2017-12-075-5/+5
| | | | llvm-svn: 319994
* [libc++] Create install-stripped targetsShoaib Meenai2017-12-062-0/+10
| | | | | | | | | | | | LLVM is gaining install-*-stripped targets to perform stripped installs, and in order for this to be useful for install-distribution, all potential distribution components should have stripped installation targets. LLVM has a function to create these install targets, but since we can't use LLVM CMake functions in libc++, let's do it manually. Differential Revision: https://reviews.llvm.org/D40680 llvm-svn: 319959
* Enable auto-linking on WindowsSaleem Abdulrasool2017-12-051-0/+7
| | | | | | | | | | | The MSVC driver and clang do not link against the C++ runtime explicitly. Instead, they rely on the auto-linking via the pragma (through `use_ansi.h`) to link against the correct version of the C++ runtime. Attempt to do something similar here so that linking real C++ code on Windows does not require the user to explicitly specify `c++.lib` when using libc++ as a C++ runtime on windows. llvm-svn: 319816
* [libcxx] Fix intrinsics for MSVCShoaib Meenai2017-12-051-8/+8
| | | | | | | | | | The parameter was previously renamed but MSVC path was not updated. Patch by Andrey Khalyavin. Differential Revision: https://reviews.llvm.org/D40774 llvm-svn: 319802
* Mark a couple of internal routines as 'noexcept'Marshall Clow2017-12-051-2/+2
| | | | llvm-svn: 319779
* Land D28253 which fixes PR28929 (which we mistakenly marked as fixed before)Marshall Clow2017-12-053-0/+68
| | | | llvm-svn: 319736
* Add issue 2587, which was missedMarshall Clow2017-12-051-0/+1
| | | | llvm-svn: 319734
* Commit tests for changes in revision 319710Marshall Clow2017-12-0410-0/+252
| | | | llvm-svn: 319711
* Implement more of P0600: '[[nodiscard]] in the library' for C++2aMarshall Clow2017-12-042-20/+22
| | | | llvm-svn: 319710
* Ooops. I checked in a test for a bug I haven't fixed yet. Temporrarily ↵Marshall Clow2017-12-041-0/+2
| | | | | | commented it out. llvm-svn: 319693
* Implement P0457R2: 'String Prefix and Suffix Checking' for c++2aMarshall Clow2017-12-0416-1/+928
| | | | llvm-svn: 319687
* Fix PR#35948: generate_n does not accept floating point Size arguments.Marshall Clow2017-12-042-5/+23
| | | | llvm-svn: 319675
* [libcxx] Set up .arcconfig to point to new Diffusion CXX repositoryBen Hamilton2017-12-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: We want to automatically copy the appropriate mailing list for review requests to the libc++ repository. For context, see the proposal and discussion here: http://lists.llvm.org/pipermail/cfe-dev/2017-November/056032.html Similar to D40179, I set up a new Diffusion repository with callsign "CXX" for libc++: https://reviews.llvm.org/source/libcxx/ This explicitly updates libcxx's .arcconfig to point to the new CXX repository in Diffusion, which will let us use Herald rule H268. Reviewers: halyavin, EricWF, mclow.lists, compnerd, mstorsjo Reviewed By: compnerd Subscribers: cfe-commits, bkramer, dlj, sammccall, klimek, smeenai, mstorsjo, krytarowski Differential Revision: https://reviews.llvm.org/D40500 llvm-svn: 319666
* Corrected a typo in the building libc++ docsHamza Sood2017-12-031-1/+1
| | | | llvm-svn: 319631
* [libcxx] Support getentropy as a source of randomness for std::random_devicePetr Hosek2017-12-012-2/+29
| | | | | | | | | | Use this source use on Fuchsia where this is the oficially way to obtain randomness. This could be also used on other platforms that already support getentropy such as *BSD or Linux. Differential Revision: https://reviews.llvm.org/D40319 llvm-svn: 319523
* Include AddLLVM needed for tests in the right contextPetr Hosek2017-12-012-5/+7
| | | | | | | | | | AddLLVM is needed for several functions that are used in tests and as such needs to be included from the right context which previously wasn't the case. Differential Revision: https://reviews.llvm.org/D40280 llvm-svn: 319515
* Fix problems with r'890 when building on machines where sizeof(size_t) != ↵Marshall Clow2017-11-273-9/+16
| | | | | | sizeof(unsigned long long) and C++03 llvm-svn: 319106
* Revert commit removing allocator support from packaged_task. Will ↵Marshall Clow2017-11-273-0/+71
| | | | | | investigate further llvm-svn: 319091
* Implement LWG#2921 and LWG#2976 - removing allocator support from packaged_task.Marshall Clow2017-11-275-73/+2
| | | | llvm-svn: 319080
* Fix PR#35438 - bitset constructor does not zero unused bitsMarshall Clow2017-11-273-2/+24
| | | | llvm-svn: 319074
* Fix failure on C++03 botsMarshall Clow2017-11-273-0/+8
| | | | llvm-svn: 319042
* Implement LWG#2948: unique_ptr does not define operator<< for stream outputMarshall Clow2017-11-275-2/+77
| | | | llvm-svn: 319038
* More of P0600; marking allocation routines as [[nodiscard]]Marshall Clow2017-11-266-9/+147
| | | | llvm-svn: 318992
* Fix copy/paste bug in test where we were putting a '3' into a vector<bool>. NFC.Marshall Clow2017-11-261-2/+2
| | | | llvm-svn: 318990
* Fix installation of cxxabi.h through libc++.Eric Fiselier2017-11-251-1/+1
| | | | | | | | | | Previously, the install command for the cxxabi headers specified the wrong component, and therefore they were not being included in the install-cxx command. This patch corrects the component name. llvm-svn: 318989
* Update C++2a status and add Glen to CREDITS.TXT. Reviewed as ↵Marshall Clow2017-11-232-1/+5
| | | | | | https://reviews.llvm.org/D40379 llvm-svn: 318919
OpenPOWER on IntegriCloud