| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The state associated to the future was set in one thread (with synchronization)
but read in another thread without synchronization, which led to a data race.
https://bugs.llvm.org/show_bug.cgi?id=38181
rdar://problem/42548261
Reviewers: mclow.lists, EricWF
Subscribers: christof, dexonsmith, cfe-commits
Differential Revision: https://reviews.llvm.org/D51170
llvm-svn: 340608
|
|
|
|
|
|
| |
'__throw_future_error'. The behavior change is that if you build libc++ with exceptions disabled, and then use that in a program that sets the value of the future twice (for example), it will now abort instead of behaving unpredictably.
llvm-svn: 338332
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
If you're crazy enough to want this sort of thing, then add
-D_LIBCPP_HAS_NO_THREADS to your CXXFLAGS and
--param=additiona_features=libcpp-has-no-threads to your lit commnad line.
http://reviews.llvm.org/D3969
llvm-svn: 217271
|
|
|
|
|
|
|
|
|
|
| |
We should check defined(__clang__) before the usage of the
clang diagnostic pragmas.
The [-Wswitch] warning in src/future.cpp should be ignored.
As the result, the equivalent GCC pragma is added.
llvm-svn: 197314
|
|
|
|
|
|
| |
(invalid value for broken_promise).
llvm-svn: 190756
|
|
|
|
|
|
| |
http://llvm.org/bugs/show_bug.cgi?id=14934.
llvm-svn: 172456
|
|
|
|
| |
llvm-svn: 160607
|
|
|
|
|
|
| |
http://llvm.org/bugs/show_bug.cgi?id=11428
llvm-svn: 149630
|
|
|
|
| |
llvm-svn: 145624
|
|
|
|
| |
llvm-svn: 135045
|
|
|
|
| |
llvm-svn: 134663
|
|
|
|
|
|
| |
allocator_traits<A>::deallocate, allocaate<T>::deallocate, return_temporary_buffer, and default_delete<T>::operator()(T*) const. My rationale was: If a std-dicated noexcept function needs to call another std-defined function, that called function must be noexcept. We're all a little new to noexcept, so things like this are to be expected. Also included fix for broken __is_swappable trait pointed out by Marc Glisse, thanks Marc|. And fixed a test case for is_nothrow_destructible. Destructors are now noexcept by default|
llvm-svn: 132261
|
|
|
|
| |
llvm-svn: 132137
|
|
|
|
| |
llvm-svn: 120458
|
|
|
|
| |
llvm-svn: 119395
|
|
|
|
| |
llvm-svn: 116500
|
|
|
|
| |
llvm-svn: 113089
|
|
|
|
|
|
| |
header <future> and all of Chapter 30 (for C++0x enabled compilers).
llvm-svn: 113017
|
|
|
|
| |
llvm-svn: 112990
|
|
|
|
| |
llvm-svn: 112500
|
|
|
|
| |
llvm-svn: 112284
|
|
llvm-svn: 112061
|