summaryrefslogtreecommitdiffstats
path: root/libcxx
Commit message (Collapse)AuthorAgeFilesLines
...
* Mark *pass tests as UNUSUPPORTED instead of XFAIL on old compilersMarshall Clow2017-03-2712-24/+24
| | | | llvm-svn: 298839
* Mark *fail tests as UNUSUPPORTED instead of XFAIL on old compilersMarshall Clow2017-03-275-10/+10
| | | | llvm-svn: 298832
* [libc++] Fix some comment typosShoaib Meenai2017-03-251-2/+2
| | | | | | Remove a stray letter, add a missing letter. No functional change. llvm-svn: 298766
* [libc++] Fix word transposition in commentShoaib Meenai2017-03-251-1/+1
| | | | | | "to due" -> "due to". No functional change. llvm-svn: 298764
* [libc++] Fix capitalization in commentShoaib Meenai2017-03-251-1/+1
| | | | | | | Fix a stray capital letter in the middle of a sentence. No functional change. llvm-svn: 298763
* [libc++] Update package versionShoaib Meenai2017-03-251-1/+1
| | | | | | Make it consistent with the rest of LLVM. llvm-svn: 298762
* XFAIL the std::byte tests on a bunch of old clang versions, because they ↵Marshall Clow2017-03-2417-0/+51
| | | | | | don't like 'std::byte b1{1}' llvm-svn: 298706
* Implement P0298R3: 'std::byte'. Reviewed as https://reviews.llvm.org/D31022Marshall Clow2017-03-2421-1/+623
| | | | llvm-svn: 298689
* Move the scoped_lock inside the '#ifndef NO_THREADS' block to fix the ↵Marshall Clow2017-03-241-79/+78
| | | | | | no-threading build llvm-svn: 298686
* Implement Pp0156r2: 'Variadic Lock Guard, version 5' Reviewed as ↵Marshall Clow2017-03-2416-155/+201
| | | | | | https://reviews.llvm.org/D31163. llvm-svn: 298681
* Update the algorithm tests to not use the (deprecated) function binders. No ↵Marshall Clow2017-03-237-14/+42
| | | | | | functional change. llvm-svn: 298618
* [libcxx] Improve code generation for vector::clear().Bruce Mitchener2017-03-232-2/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: By manipulating a local variable in the loop, when the loop can be optimized away (due to no non-trivial destructors), this lets it be fully optimized away and we modify the __end_ separately. This results in a substantial improvement in the generated code. Prior to this change, this would be generated (on x86_64): movq (%rdi), %rdx movq 8(%rdi), %rcx cmpq %rdx, %rcx je LBB2_2 leaq -12(%rcx), %rax subq %rdx, %rax movabsq $-6148914691236517205, %rdx ## imm = 0xAAAAAAAAAAAAAAAB mulq %rdx shrq $3, %rdx notq %rdx leaq (%rdx,%rdx,2), %rax leaq (%rcx,%rax,4), %rax movq %rax, 8(%rdi) And after: movq (%rdi), %rax movq %rax, 8(%rdi) This brings this in line with what other implementations do. Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D25241 llvm-svn: 298601
* Use 'REQUIRES: c++98 || c++03 || c++11 || c++14' instead of the deprecated ↵Marshall Clow2017-03-232-2/+2
| | | | | | 'REQUIRES-ANY: c++98, c++03, c++11, c++14' llvm-svn: 298600
* One more file for the random_shuffle removalMarshall Clow2017-03-231-0/+1
| | | | llvm-svn: 298598
* Remove random_shuffle in C++17. Please use shuffle instead. If you have to, ↵Marshall Clow2017-03-234-2/+52
| | | | | | you cant get it back by defining _LIBCPP_ENABLE_CXX17_REMOVED_RANDOM_SHUFFLE before including any libc++ headers. llvm-svn: 298597
* Silence a couple of 'unused variable' warnings in c++03 tests. No functional ↵Marshall Clow2017-03-232-0/+2
| | | | | | change llvm-svn: 298582
* Worked around GCC bug 56480. Explicit specialization in a different namespace.Michael Park2017-03-232-2/+10
| | | | | | | | | | | | Summary: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56480 Reviewers: EricWF Reviewed By: EricWF Differential Revision: https://reviews.llvm.org/D31273 llvm-svn: 298581
* Can't test for noexcept on C++03; std::hash<nullptr_t> isn't available until ↵Marshall Clow2017-03-233-0/+9
| | | | | | C++17 llvm-svn: 298580
* Implement P0599: 'noexcept for hash functions'. Fix a couple of hash ↵Marshall Clow2017-03-2318-30/+69
| | | | | | functions (optional<T> and unique_ptr<T>) which were mistakenly marked as 'noexcept'. Reviewed as https://reviews.llvm.org/D31234 llvm-svn: 298573
* Address post-commit review comments regarding test_workarounds.hEric Fiselier2017-03-232-3/+3
| | | | llvm-svn: 298566
* [libc++] Work around C1XX bug which breaks poisoned hash tests.Eric Fiselier2017-03-224-0/+63
| | | | | | | | | | | | | | Summary: This is my attempt to work around the C1XX bug described to me by @BillyONeal. Reviewers: BillyONeal, STL_MSFT, CaseyCarter Reviewed By: BillyONeal Subscribers: cfe-commits, BillyONeal Differential Revision: https://reviews.llvm.org/D31260 llvm-svn: 298554
* Fix test failure I introducedMarshall Clow2017-03-211-6/+6
| | | | llvm-svn: 298438
* Fix a couple of 'C++11'-isms from the last checkin, which broke the '03 bot.Marshall Clow2017-03-213-4/+11
| | | | llvm-svn: 298422
* Add a bit more to one of the chrono testsMarshall Clow2017-03-211-0/+11
| | | | llvm-svn: 298418
* Implement P0548: 'common_type and duration' This involves a subtle change in ↵Marshall Clow2017-03-216-13/+50
| | | | | | the return type of the unary +/- operators for std::chrono::duration, though I expect that no one will notice. llvm-svn: 298416
* Add two more papers from Kona, and sort themMarshall Clow2017-03-201-8/+10
| | | | llvm-svn: 298284
* Implement LWG#2761: 'basic_string should require that charT match ↵Marshall Clow2017-03-155-4/+32
| | | | | | traits::char_type'. Tests for string_view, too llvm-svn: 297872
* Add deployment knobs to tests (for Apple platforms)Mehdi Amini2017-03-1530-60/+178
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The tests for libc++ specify -target on the command-line to the compiler, but this is problematic for a few reasons. Firstly, the -target option isn't supported on Apple platforms. Parts of the triple get dropped and ignored. Instead, software should be compiled with a combination of the -arch and -m<name>-version-min options. Secondly, the generic "darwin" target references a kernel version instead of a platform version. Each platform has its own independent versions (with different versions of libc++.1.dylib), independent of the version of the Darwin kernel. This commit adds support to the LIT infrastructure for testing against Apple platforms using -arch and -platform options. If the host is not on OS X, or the compiler type is not clang or apple-clang, then this commit has NFC. If the host is on OS X and --param=target_triple=... is specified, then a warning is emitted to use arch and platform instead. Besides the warning, there's NFC. If the host is on OS X and *no* target-triple is specified, then use the new deployment target logic. This uses two new lit parameters, --param=arch=<arch> and --param=platform=<platform>. <platform> has the form <name>[<version>]. By default, arch is auto-detected from clang -dumpmachine, and platform is "macosx". If the platform doesn't have a version: For "macosx", the version is auto-detected from the host system using sw_vers. This may give a different version than the SDK, since new SDKs can be installed on older hosts. Otherwise, the version is auto-detected from the SDK version using xcrun --show-sdk-path. -arch <arch> -m<name>-version-min=<version> is added to the compiler flags. The target triple is computed as <arch>-apple-<platform>. It is *not* passed to clang, but it is available for XFAIL and UNSUPPORTED (as is with_system_cxx_lib=<target>). For convenience, apple-darwin and <arch>-apple-darwin are added to the set of available features. There were a number of tests marked to XFAIL on x86_64-apple-darwin11 and x86_64-apple-darwin12. I updated these to x86_64-apple-macosx10.7 and x86_64-apple-macosx10.8. llvm-svn: 297798
* Fixed unintentional assignment-in-assert in new "extending memory management ↵Billy Robert O'Neal III2017-03-146-6/+6
| | | | | | tools" algorithms. llvm-svn: 297772
* Mark LWG issues 2868, 2872, and 2890 as complete. There's nothing we need to ↵Marshall Clow2017-03-141-3/+3
| | | | | | do for them. llvm-svn: 297758
* Also mark LWG#2785 as complete, because we already implemented thatMarshall Clow2017-03-141-1/+1
| | | | llvm-svn: 297753
* Implement LWG2784, and mark 2786, 2795, 2804, 2812, 2826, 2834, 2837 and ↵Marshall Clow2017-03-143-16/+51
| | | | | | 2838 as complete - since we do them already llvm-svn: 297752
* Fix cmake to find the compiler-rt libs on darwinBruno Cardoso Lopes2017-03-141-9/+21
| | | | | | | | | Followup for r297553, which left darwin in a broken state http://green.lab.llvm.org/green/job/clang-stage2-cmake-RgSan_build/3812 rdar://problem/31011980 llvm-svn: 297703
* fix test coverage capture dirsEric Fiselier2017-03-111-1/+5
| | | | llvm-svn: 297555
* Change test coverage generation to use llvm-cov instead of gcov.Eric Fiselier2017-03-114-8/+65
| | | | | | | | | | | | | Clang doesn't produce gcov compatible coverage files. This causes lcov to break because it uses gcov by default. This patch switches lcov to use llvm-cov as the gcov-tool. Unfortunatly llvm-cov doesn't provide a gcov like interface by default so it won't work with lcov. However `llvm-cov gcov` does. For this reason we generate 'llvm-cov-wrapper' script that always passes the gcov flag. llvm-svn: 297553
* Fix DoNotOptimize on MSVCEric Fiselier2017-03-111-2/+4
| | | | llvm-svn: 297532
* Disable unsigned integer sanitizer for basic_string::replace(). Patch from ↵Eric Fiselier2017-03-091-0/+4
| | | | | | | | | | | | | | | | | | tomcherry@google.com basic_string::replace() has the below line __sz += __n2 - __n1; which fails overflow checks if __n1 > __n2, as the negative result from the subtraction then overflows the original __sz when added to it. This behavior is valid as unsigned integer overflow is defined to wrap around the maximum value and that produces the correct final value for __sz. Therefore, we disable this check on this function. llvm-svn: 297355
* [libc++] Avoid double defining macro on WindowsShoaib Meenai2017-03-091-0/+6
| | | | | | | | Put proper guards around _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS. No functional change on non-Windows. Avoids incorrect macro redefinition on Windows. llvm-svn: 297330
* Fix PR32183 - Wrap GCC exception implementation in missing namespace stdEric Fiselier2017-03-082-1/+5
| | | | llvm-svn: 297306
* Add list of filesystem NB comments to TODO.TXT so they can be tracked separatelyEric Fiselier2017-03-061-0/+50
| | | | llvm-svn: 297079
* Mark LWG 2806 as complete. Libc++ speculatively shiped this change in 4.0Eric Fiselier2017-03-061-1/+1
| | | | llvm-svn: 297074
* Mark LWG 2789 as complete. No changes requiredEric Fiselier2017-03-061-1/+1
| | | | llvm-svn: 297073
* Implement LWG 2787 - [file_status.cons] is inconsistentEric Fiselier2017-03-063-5/+7
| | | | llvm-svn: 297071
* Mark LWG 2781 as complete. No changes requiredEric Fiselier2017-03-061-1/+1
| | | | llvm-svn: 297069
* Mark two any_cast issues as completeEric Fiselier2017-03-061-2/+2
| | | | llvm-svn: 297066
* Updated email address in `CREDITS.txt`.Michael Park2017-03-061-1/+1
| | | | llvm-svn: 297065
* Header update with info about the current status of C++17Marshall Clow2017-03-061-1/+2
| | | | llvm-svn: 297022
* Update list with changes from Kona meetingMarshall Clow2017-03-061-4/+73
| | | | llvm-svn: 297021
* Fix nonsense commentEric Fiselier2017-03-041-1/+2
| | | | llvm-svn: 296965
* teach LIT how to detect the glibc versionEric Fiselier2017-03-041-0/+8
| | | | llvm-svn: 296942
OpenPOWER on IntegriCloud