summaryrefslogtreecommitdiffstats
path: root/libcxx/test/std/thread/futures
Commit message (Collapse)AuthorAgeFilesLines
* Replace one more occurrence of non-standard std:launch::any. Patch from ↵Eric Fiselier2016-04-301-3/+3
| | | | | | STL@microsoft.com llvm-svn: 268153
* Fix or move various non-standard tests.Eric Fiselier2016-04-292-115/+70
| | | | | | | | | | | | This patch does the following: * Remove <__config> includes from some container tests. * Guards uses of std::launch::any in async tests because it's an extension. * Move "test/std/extensions" to "test/libcxx/extensions" * Moves various non-standard tests including those in "sequences/vector", "std/localization" and "utilities/meta". llvm-svn: 267981
* Rename function parameters to avoid shadowing. Patch from STL@microsoft.comEric Fiselier2016-04-281-4/+4
| | | | llvm-svn: 267838
* Guard a number of tests relying on threads support when built inRichard Barton2016-03-238-4/+16
| | | | | | | | single-threaded mode. Differential Revision: http://reviews.llvm.org/D14731 llvm-svn: 264191
* Make it possible to build a no-exceptions variant of libcxx.Asiri Rathnayake2015-11-1020-0/+20
| | | | | | | | | | | | Fixes a small omission in libcxx that prevents libcxx being built when -DLIBCXX_ENABLE_EXCEPTIONS=0 is specified. This patch adds XFAILS to all those tests that are currently failing on the new -fno-exceptions library variant. Follow-up patches will update the tests (progressively) to cope with the new library variant. Change-Id: I4b801bd8d8e4fe7193df9e55f39f1f393a8ba81a llvm-svn: 252598
* Remove empty file that arcanist createdEric Fiselier2015-08-281-0/+0
| | | | llvm-svn: 246273
* [libcxx] Mark most test/std/future tests as UNSUPPORTED in C++03Eric Fiselier2015-08-2838-603/+334
| | | | | | | | | | | | | | | | | | | | Summary: This patch marks *most* tests for `std::promise`, `std::future` and `std::shared_future` as unsupported in C++03. These tests fail in C++03 mode because they attempt to copy a `std::future` even though it is a `MoveOnly` type. AFAIK the missing move-semantics in `std::future` is the only reason these tests fail but without move semantics these classes are useless. For example even though `std::promise::set_value` and `std::promise::set_exception(...)` work in C++03 `std::promise` is still useless because we cannot call `std::promise::get_future(...)`. It might be possible to hack `std::move(...)` like we do for `std::unique_ptr` to make the move semantics work but I don't think it is worth the effort. Instead I think we should leave the `<future>` header as-is and mark the failing tests as `UNSUPPORTED`. I don't believe there are any users of `std::future` or `std::promise` in C++03 because they are so unusable. Therefore I am not concerned about losing test coverage and possibly breaking users. However because there are still parts of `<future>` that work in C++03 it would be wrong to `#ifdef` out the entire header. @mclow.lists Should we take further steps to prevent the use of `std::promise`, `std::future` and `std::shared_future` in C++03? Note: This patch also cleans up the tests and converts them to use `support/test_allocator.h` instead of a duplicate class in `test/std/futures/test_allocator.h`. Reviewers: mclow.lists Subscribers: vsk, mclow.lists, cfe-commits Differential Revision: http://reviews.llvm.org/D12135 llvm-svn: 246271
* Mark std::packaged_task tests as unsupported in C++03.Eric Fiselier2015-08-1918-61/+45
| | | | | | | std::packaged_task requires variadic templates and is #ifdef out in C++03. This patch silences the tests in C++03. This patch also rewrites the .fail.cpp tests so that they use clang verify. llvm-svn: 245413
* Mark async tests as UNSUPPORTED in C++03 because it requires variadicsEric Fiselier2015-07-282-0/+2
| | | | llvm-svn: 243393
* Implement LWG#2407: 'packaged_task(allocator_arg_t, const Allocator&, F&&) ↵Marshall Clow2015-06-301-1/+1
| | | | | | should neither be constrained nor explicit' llvm-svn: 241068
* Fix PR23293 - Do not unlock shared state before notifying consumers.Eric Fiselier2015-06-121-0/+67
| | | | | | | | Within the shared state methods do not unlock the lock guards manually. This could cause a race condition where the shared state is destroyed before the method is complete. llvm-svn: 239577
* libc++ tests: wait_until.pass test sporadically fails (bug 21998)Eric Fiselier2015-02-112-194/+258
| | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Hello Howard, While running the libc++ tests on our ARM boards, we encounter sporadic failures of the two tests: test/std/thread/futures/futures.shared_future/wait_until.pass.cpp test/std/thread/futures/futures.unique_future/wait_until.pass.cpp The worker thread might not finish yet when the main thread checks its result. I filed the bug 21998 for this case: http://llvm.org/bugs/show_bug.cgi?id=21998 Would you be able to review this please? Thank you. Oleg Reviewers: howard.hinnant, mclow.lists, danalbert, jroelofs, EricWF Reviewed By: jroelofs, EricWF Subscribers: EricWF, mclow.lists, aemerson, llvm-commits Differential Revision: http://reviews.llvm.org/D6750 llvm-svn: 228783
* Rename system_lib -> system_cxx_lib. NFCJonathan Roelofs2015-01-141-3/+3
| | | | llvm-svn: 226061
* Walter Brown sent a list of tests which needed 'additional includes' to ↵Marshall Clow2015-01-091-0/+1
| | | | | | match what was in the standard. Added these includes to the tests. No changes to the library or test results. llvm-svn: 225541
* Move test into test/std subdirectory.Eric Fiselier2014-12-2077-0/+4805
llvm-svn: 224658
OpenPOWER on IntegriCloud