Jonathan Roelofs
b3fcc67f8f
Allow libc++ to be built on systems without POSIX threads
...
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
2014-09-05 19:45:05 +00:00
Marshall Clow
1641a7c1cb
Implement LWG issue #2135 . If something goes wrong in condition_variable::wait, call terminate() rather than throwing an error. Do this indirectly, by marking the call as 'noexcept'. This is better than just calling terminate() directly, because it gives a better error message on the console.
...
llvm-svn: 204778
2014-03-26 02:45:04 +00:00
Marshall Clow
ce81aed463
Make cv_status a class enum. Fixes PR18314. Thanks to Andersca for the report and the patch.
...
llvm-svn: 197921
2013-12-23 22:14:27 +00:00
Howard Hinnant
ead6f1699d
N3659: Shared locking in C++ Revision 2, c++1y only
...
llvm-svn: 191127
2013-09-21 01:49:28 +00:00
Howard Hinnant
f0544c2086
Nico Rieck: this patch series fixes visibility issues on Windows as explained in < http://lists.cs.uiuc.edu/pipermail/cfe-dev/2013-August/031214.html >.
...
llvm-svn: 188192
2013-08-12 18:38:34 +00:00
Howard Hinnant
6e41256f68
No functionality change at this time. I've split _LIBCPP_VISIBLE up into two flags: _LIBCPP_TYPE_VIS and _LIBCPP_FUNC_VIS. This is in preparation for taking advantage of clang's new __type_visibility__ attribute.
...
llvm-svn: 176593
2013-03-06 23:30:19 +00:00
Howard Hinnant
54d333a601
Rename uses of _ and __ because these are getting stepped on by macros from other system code.
...
llvm-svn: 167038
2012-10-30 19:06:59 +00:00
Howard Hinnant
ab303f7e47
Dimitry Andric: FreeBSD porting tweaks for PTHREAD_MUTEX_INITIALIZER and PTHREAD_COND_INITIALIZER
...
llvm-svn: 163626
2012-09-11 16:10:20 +00:00
Howard Hinnant
aad745a024
Change sleep_for, sleep_until, and the condition_variable timed wait
...
functions to protect against duration and time_point overflow. Since
we're about to wait anyway, we can afford to spend a few more cycles on
this checking. I purposefully did not treat the timed try_locks with
overflow checking. This fixes
http://llvm.org/bugs/show_bug.cgi?id=13721 . I'm unsure if the standard
needs clarification in this area, or if this is simply QOI. The
<chrono> facilities were never intended to overflow check, but just to
not overflow if durations stayed within +/- 292 years.
llvm-svn: 162925
2012-08-30 19:14:33 +00:00
Howard Hinnant
45c663db4e
noexcept applied to <condition_variable>.
...
llvm-svn: 160605
2012-07-21 16:32:53 +00:00
Howard Hinnant
02e610ef34
noexcept and constexpr applied to <mutex>.
...
llvm-svn: 160604
2012-07-21 16:13:09 +00:00
Howard Hinnant
bfa7990b5a
Apply constexpr to the mutex constructor. As a conforming extension, apply constexpr to the condition_variable constructor. These are important because it enables the compiler to construct these types at compile time, even though the object will be non-const. Since they are constructed at compile time, there is no chance of a data race before they are constructed.
...
llvm-svn: 159901
2012-07-07 20:01:52 +00:00
Howard Hinnant
f2f2d8b98d
Modernize conversion to bool to the explicit bool conversion operator (library wide). This fixes http://llvm.org/bugs/show_bug.cgi?id=12058 .
...
llvm-svn: 151088
2012-02-21 21:46:43 +00:00
Howard Hinnant
073458b1ab
Windows support by Ruben Van Boxem.
...
llvm-svn: 142235
2011-10-17 20:05:10 +00:00
Howard Hinnant
ce48a1137d
_STD -> _VSTD to avoid macro clash on windows
...
llvm-svn: 134190
2011-06-30 21:18:19 +00:00
Howard Hinnant
ce53420e37
Provide names for template and function parameters in forward declarations. The purpose is to aid automated documentation tools.
...
llvm-svn: 133008
2011-06-14 19:58:17 +00:00
Howard Hinnant
6fd5c65095
Minor fixup in <ratio> and add optional support for shared_mutex and upgrade_mutex which must be opted into with #define _LIBCPP_SHARED_LOCK
...
llvm-svn: 120258
2010-11-28 19:41:07 +00:00
Howard Hinnant
3dc6455ff0
N3191: C++ Timeout Specification
...
llvm-svn: 119909
2010-11-20 19:16:30 +00:00
Howard Hinnant
412dbebe1b
license change
...
llvm-svn: 119395
2010-11-16 22:09:02 +00:00
Howard Hinnant
f5ab703f68
visibility-decoration.
...
llvm-svn: 114470
2010-09-21 20:16:37 +00:00
Howard Hinnant
7609c9b665
Changed __config to react to all of clang's currently documented has_feature flags, and renamed _LIBCPP_MOVE to _LIBCPP_HAS_NO_RVALUE_REFERENCES to be more consistent with the rest of the libc++'s flags, and with clang's nomenclature.
...
llvm-svn: 113086
2010-09-04 23:28:19 +00:00
Howard Hinnant
b3371f6f49
Fixing whitespace problems
...
llvm-svn: 111750
2010-08-22 00:02:43 +00:00
Howard Hinnant
5b08a8a432
Wiped out some non-ascii characters that snuck into the copyright.
...
llvm-svn: 103516
2010-05-11 21:36:01 +00:00
Howard Hinnant
3e519524c1
libcxx initial import
...
llvm-svn: 103490
2010-05-11 19:42:16 +00:00