summaryrefslogtreecommitdiffstats
path: root/libcxx/test
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix PR#35438 - bitset constructor does not zero unused bitsMarshall Clow2017-11-272-1/+20
| | | | llvm-svn: 319074
* Fix failure on C++03 botsMarshall Clow2017-11-272-0/+6
| | | | llvm-svn: 319042
* Implement LWG#2948: unique_ptr does not define operator<< for stream outputMarshall Clow2017-11-272-0/+60
| | | | llvm-svn: 319038
* More of P0600; marking allocation routines as [[nodiscard]]Marshall Clow2017-11-264-0/+137
| | | | 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
* 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-231-0/+37
| | | | llvm-svn: 318889
* [libcxx] Implement std::to_address for C++20Eric Fiselier2017-11-221-0/+120
| | | | | | | | | | | | | | Summary: Now implements P0653R2 - Utility to convert to raw pointer. Reviewers: mclow.lists, EricWF Reviewed By: EricWF Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D35470 llvm-svn: 318865
* Implement p0137r1 - std::launder. Reviewed as https://reviews.llvm.org/D40144Marshall Clow2017-11-223-0/+96
| | | | llvm-svn: 318864
* [libcxx][fixup] Mark std::basic_istream::getline tests as failing for ↵Volodymyr Sapsai2017-11-222-0/+16
| | | | | | | | | previous libcxx versions. r318862 added a fix for 0-termination input array in case of an error. Previous libcxx versions don't have the fix and corresponding tests should be failing. llvm-svn: 318863
* [libcxx] Make std::basic_istream::getline 0-terminate input array in case of ↵Volodymyr Sapsai2017-11-222-0/+108
| | | | | | | | | | | | | error. It covers the cases when the sentry object returns false and when an exception was thrown. Corresponding standard paragraph is C++14 [istream.unformatted]p21: In any case, if n is greater than zero, it then stores a null character (using charT()) into the next successive location of the array. Patch by Reimar Döffinger. llvm-svn: 318862
* Add another test_macros.h include I missed to tuple.by.type.pass.cppBilly Robert O'Neal III2017-11-221-0/+1
| | | | llvm-svn: 318830
* Add some tests for operations on const associative containers. Part of LWG#2542Marshall Clow2017-11-226-9/+32
| | | | llvm-svn: 318818
* Replace assert(true) in tests with actual asserts. Reviewed as ↵Billy Robert O'Neal III2017-11-211-2/+2
| | | | | | | | | | | | | | https://reviews.llvm.org/D40324 In a17cd7c641c34b6c4bd4845a4d4fb590cb6c238c Marshall added assert(true) to the vector<bool>::size tests, which break on C1XX: D:\Contest\gl0qojfu.5pe\src\qa\vc\libs\libcxx\upstream\test\std\containers\sequences\vector.bool\size.pass.cpp(62): error C2220: warning treated as error - no 'object' file generated d:\contest\gl0qojfu.5pe\src\qa\vc\libs\libcxx\upstream\test\std\containers\sequences\vector.bool\size.pass.cpp(33) : warning C6326: Potential comparison of a constant with another constant. d:\contest\gl0qojfu.5pe\src\qa\vc\libs\libcxx\upstream\test\std\containers\sequences\vector.bool\size.pass.cpp(52) : warning C6326: Potential comparison of a constant with another constant. The corresponding test for vector::size asserts assert(c.size() == 3);, so I changed it to do that here. llvm-svn: 318812
* Add missing test_macros.h inclusion.Billy Robert O'Neal III2017-11-211-0/+1
| | | | llvm-svn: 318808
* Change (void) casts to TEST_IGNORE_NODISCARD, as requested by Eric. Reviewed ↵Billy Robert O'Neal III2017-11-2165-96/+103
| | | | | | as https://reviews.llvm.org/D40065 llvm-svn: 318804
* [libc++] Shrink variant's index type when possibleEric Fiselier2017-11-191-0/+68
| | | | | | | | | | | | | | | | | | | Summary: Currently `std::variant` always uses an unsigned int to store the variant index. However this isn't nessesary and causes `std::variant` to be larger than it needs to be in most cases. This patch changes the index type to be `unsigned char` when possible, and `unsigned short` or `unsigned int` otherwise, depending on the size (Although it's questionable if it's even possible to create a variant with 65535 elements. Unfortunately this change is an ABI break, and as such is only enabled in ABI v2. Reviewers: mpark Reviewed By: mpark Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D40210 llvm-svn: 318621
* Fix nodiscard test when modules are enabledEric Fiselier2017-11-191-0/+1
| | | | llvm-svn: 318618
* More of P0600 - '[[nodiscard]] in the Library' mark empty() as nodiscard in ↵Marshall Clow2017-11-162-1/+30
| | | | | | filesystem::path llvm-svn: 318378
* More of P0600 - '[[nodiscard]] in the Library' mark empty() as nodiscard in ↵Marshall Clow2017-11-161-0/+27
| | | | | | match_results. <regex> llvm-svn: 318375
* More of P0600 - '[[nodiscard]] in the Library' mark empty() as nodiscard in ↵Marshall Clow2017-11-157-1/+147
| | | | | | string, string_view, and the free function std::empty(). Removed tabs from <string_view>, which is why the diff is so big. llvm-svn: 318328
* [test] Alignment must be > __STDCPP_DEFAULT_NEW_ALIGNMENT__ to call aligned newCasey Carter2017-11-1510-10/+10
| | | | | | Differential Revision: D39221 llvm-svn: 318325
* Clean up the tests for free data(), size() and empty()Marshall Clow2017-11-153-24/+28
| | | | llvm-svn: 318313
* Tolerate even more [[nodiscard]] in the STL. Reviewed as ↵Billy Robert O'Neal III2017-11-1535-100/+104
| | | | | | https://reviews.llvm.org/D39080 llvm-svn: 318277
* Tolerate [[nodiscard]] annotations in the STL. Reviewed as ↵Billy Robert O'Neal III2017-11-1558-74/+98
| | | | | | https://reviews.llvm.org/D39033 llvm-svn: 318276
* First part of P0600 - '[[nodiscard] in the standard library'. Mark the ↵Marshall Clow2017-11-1517-0/+476
| | | | | | 'empty()' methods of all the containers as nodiscard. If you're calling empty() w/o looking at the result, you probably meanto to call 'clear()'. c++2a only llvm-svn: 318269
* Still more missing tests - this time for the unordered containersMarshall Clow2017-11-158-0/+432
| | | | llvm-svn: 318268
* Named the macro wrong in the test.Marshall Clow2017-11-151-1/+1
| | | | llvm-svn: 318259
* More missing tests - array<>::size() and array<>::max_size()Marshall Clow2017-11-152-0/+72
| | | | llvm-svn: 318256
* Added tests for xxx.size() and xxx.empty() for all the sequence containersMarshall Clow2017-11-159-0/+478
| | | | llvm-svn: 318244
* Add two new macros: _LIBCPP_NODISCARD_AFTER_CXX17 and ↵Marshall Clow2017-11-142-0/+48
| | | | | | _LIBCPP_CONSTEXPR_AFTER_CXX17, along with a way to turn off the NODISCARD one: _LIBCPP_DISABLE_NODISCARD_AFTER_CXX17. No one is using these yet, but we will be ... soon llvm-svn: 318208
* Rename identifiers named `__output`Alexander Richardson2017-11-141-0/+3
| | | | | | | | | | | | | | | | Summary: In the CHERI clang compiler __output and __input are keywords and therefore we can't compile libc++ with our compiler. Reviewers: mclow.lists, EricWF, theraven Reviewed By: EricWF Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D39537 llvm-svn: 318144
* Another test for LWG2952Marshall Clow2017-11-141-0/+28
| | | | llvm-svn: 318126
* Implement LWG2952: iterator_traits should work for pointers to cv TMarshall Clow2017-11-141-0/+28
| | | | llvm-svn: 318119
* Implement P0550R2: Transformation Trait remove_cvrefMarshall Clow2017-11-131-0/+52
| | | | llvm-svn: 318011
* [libcxx] Mark test cxa_deleted_virtual.pass.cpp as failing for previous ↵Volodymyr Sapsai2017-11-081-0/+9
| | | | | | | | | | | | | | | | | | | | libcxx versions. r313500 added a fix for undefined "___cxa_deleted_virtual" symbol. Previous libcxx versions don't have the fix and corresponding test should be failing. rdar://problem/34521053 Reviewers: EricWF, mclow.lists, ahatanak Reviewed By: ahatanak Subscribers: mehdi_amini, cfe-commits Differential Revision: https://reviews.llvm.org/D39776 llvm-svn: 317734
* Change test suite to support c++17 dialect flag instead of c++1z.Eric Fiselier2017-11-073-3/+3
| | | | | | | | This patch changes the test suite to attempt and prefer -std=c++17 over -std=c++1z. It also fixes the REQUIRES and UNSUPPORTED lit markers to refer to c++17 over c++1z. llvm-svn: 317610
* Change a bunch of comments from C++1z to C++17. NFCMarshall Clow2017-11-0217-17/+17
| | | | llvm-svn: 317212
* Mark tests as unsupported in C++98 as wellRoger Ferrer Ibanez2017-11-022-2/+2
| | | | | | Differential Revision: https://reviews.llvm.org/D38362 llvm-svn: 317210
* Add a fail test for aligned_union of an incomplete type. See LWG#2979. NFCMarshall Clow2017-10-311-0/+23
| | | | llvm-svn: 316969
* Add more fuzzing bits: partial_sort_copy, partition_copy, unique, ↵Marshall Clow2017-10-304-0/+152
| | | | | | unique_copy. No functional change to libc++; this is all test infastructure llvm-svn: 316951
* Implement LWG 3013 - some filesystem members should not be noexcept.Eric Fiselier2017-10-306-21/+32
| | | | | | | | | | | | | | | LWG 3013 points out that the constructors and increment members of the directory iterators need to allocate, and therefore cannot be marked noexcept. It also points out that `is_empty` and `copy` likely need to allocate as well, and as such can also not be noexcept. This patch speculatively implements the resolution removing noexcept, because libc++ does indeed have the possibility of throwing on allocation failure. llvm-svn: 316941
* Fix PR35078 - recursive directory iterator's increment method throws ↵Eric Fiselier2017-10-301-0/+246
| | | | | | | | | | | | | | incorrectly. The guts of the increment method for recursive_directory_iterator was failing to pass an error code object to calls to status/symlink_status, which can throw under certain conditions. This patch fixes the issues by correctly propagating the error codes. However the noexcept still needs to be removed from the signature, as mentioned in LWG 3014, but that change will be made in a separate commit. llvm-svn: 316939
* Mark test as unsupported on C++98/03, since it uses move_iteratorMarshall Clow2017-10-301-0/+2
| | | | llvm-svn: 316917
* Fix PR#35119 : set_union misbehaves with move_iterators. Thanks to Denis ↵Marshall Clow2017-10-301-0/+44
| | | | | | Yaroshevskiy for both the bug report and the fix. llvm-svn: 316914
* Mark string_view's constructor from (ptr,len) as noexcept (an extension). ↵Marshall Clow2017-10-244-3/+15
| | | | | | Update the tests to check this (and other noexcept bits llvm-svn: 316456
* Mark string_view literals as 'noexcept'. Fixes PR#25054. Thanks to Pavel K ↵Marshall Clow2017-10-241-0/+6
| | | | | | for the bug report. llvm-svn: 316439
* Fix an unsigned integer overflow in regex that lead to a bad memory access. ↵Marshall Clow2017-10-191-0/+1
| | | | | | Found by OSS-Fuzz llvm-svn: 316191
* Fix UB - signed integer overflow in regex. Thanks to Tim Shen for the patch. ↵Marshall Clow2017-10-191-0/+40
| | | | | | Reviewed as https://reviews.llvm.org/D39066 llvm-svn: 316172
* Fix regex bug with ^\W. Thanks to Tim Shen for the patch. Reviewed as ↵Marshall Clow2017-10-181-0/+29
| | | | | | https://reviews.llvm.org/D37955 llvm-svn: 316095
OpenPOWER on IntegriCloud