summaryrefslogtreecommitdiffstats
path: root/libcxx
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
* Allow to set locale on Windows.Martin Storsjo2017-11-234-19/+96
| | | | | | | | | | | | | | | Fix the problem PR31516 with setting locale on Windows by wrapping _locale_t with a pointer-like class. Reduces 74 test failures in std/localization test suite to 47 test failures (on llvm clang, Visual Studio 2015). Number of test failures doesn't depend on the platform (x86 or x64). Patch by Andrey Khalyavin. Differential Revision: https://reviews.llvm.org/D40181 llvm-svn: 318902
* Add additional 'UNSUPPORTED' to the test case.Marshall Clow2017-11-231-1/+2
| | | | llvm-svn: 318897
* Add [[nodiscard]] to std::async as part of P0600.Marshall Clow2017-11-233-2/+40
| | | | llvm-svn: 318889
OpenPOWER on IntegriCloud