Eric Fiselier
3b1fb53a65
Move atomic_support.h and config_elast.h into src/include
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@245354 91177308-0d34-0410-b5e6-96231b3b80d8
2015-08-18 21:08:54 +00:00
Eric Fiselier
c6e466911f
[libcxx] Add atomic_support.h header to src that handles needed atomic operations.
...
Summary:
In some places in libc++ we need to use the `__atomic_*` builtins. This patch adds a header that provides access to those builtins in a uniform way from within the dylib source.
If the compiler building the dylib does not support these builtins then a warning is issued.
Only relaxed loads are needed within the headers. A singe function to do these relaxed loads has been added to `<memory>`.
This patch applies the new atomic builtins to `__shared_count` and `call_once`.
Reviewers: mclow.lists
Subscribers: majnemer, jroelofs, cfe-commits
Differential Revision: http://reviews.llvm.org/D10406
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@241532 91177308-0d34-0410-b5e6-96231b3b80d8
2015-07-07 00:27:16 +00:00
Jonathan Roelofs
8d86b2e686
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
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@217271 91177308-0d34-0410-b5e6-96231b3b80d8
2014-09-05 19:45:05 +00:00
Howard Hinnant
fc910cb9a0
Peter Collingbourne: Fix warnings when compiling with -DNDEBUG.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@191148 91177308-0d34-0410-b5e6-96231b3b80d8
2013-09-21 21:26:37 +00:00
Howard Hinnant
499c61f999
noexcept and constexpr applied to <mutex>.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@160604 91177308-0d34-0410-b5e6-96231b3b80d8
2012-07-21 16:13:09 +00:00
Howard Hinnant
ec3773c2da
Quash a whole bunch of warnings
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@145624 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-01 20:21:04 +00:00
Howard Hinnant
b64f8b07c1
license change
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@119395 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-16 22:09:02 +00:00
Howard Hinnant
16e6e1d72f
Fixing whitespace problems
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@111751 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-22 00:03:27 +00:00
Howard Hinnant
d444470d6c
now works with -fno-exceptions and -fno-rtti
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@110828 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-11 17:04:31 +00:00
Howard Hinnant
21aefc3a61
[util.smartptr.hash]
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@105393 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-03 16:42:57 +00:00
Howard Hinnant
adff4895b2
patch by Jeffrey Yasskin for porting to Ubuntu Hardy. Everything was accepted except there were some bug fixes needed in <locale> for the __nolocale_* series. For the apple branch I ended up using templates instead of the var_args solution because it seemed both safer and more efficient.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@104516 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-24 17:49:41 +00:00
Howard Hinnant
f5256e16df
Wiped out some non-ascii characters that snuck into the copyright.
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@103516 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-11 21:36:01 +00:00
Howard Hinnant
bc8d3f97eb
libcxx initial import
...
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@103490 91177308-0d34-0410-b5e6-96231b3b80d8
2010-05-11 19:42:16 +00:00