llvm-project/libcxx/src
Weiming Zhao fbfaec7089 [libc++] Replace __sync_* functions with __libcpp_atomic_* functions
Summary:
This patch replaces __sync_* with __libcpp_atomic_* and adds a wrapper
function for __atomic_exchange to support _LIBCPP_HAS_NO_THREADS.

Reviewers: EricWF, jroelofs, mclow.lists, compnerd

Reviewed By: EricWF, compnerd

Subscribers: compnerd, efriedma, cfe-commits, joerg, llvm-commits

Differential Revision: https://reviews.llvm.org/D35235

llvm-svn: 313694
2017-09-19 23:18:03 +00:00
..
experimental Rename a couple variables to eliminate a shadow warning. No functionality change 2017-08-02 20:29:26 +00:00
include [libc++] Replace __sync_* functions with __libcpp_atomic_* functions 2017-09-19 23:18:03 +00:00
support [libc++] Replace __sync_* functions with __libcpp_atomic_* functions 2017-09-19 23:18:03 +00:00
algorithm.cpp Mark libc++ internal globals with _LIBCPP_SAFE_STATIC. 2016-09-28 22:08:13 +00:00
any.cpp [libcxx] Add std::any 2016-08-11 03:13:11 +00:00
bind.cpp Implement LWG 2488 - Make the placeholders constexpr. 2016-06-26 21:01:34 +00:00
chrono.cpp Fix Libc++ build with MinGW64 2017-05-31 22:14:05 +00:00
condition_variable.cpp [Libc++] Use #pragma push_macro/pop_macro to better handle min/max on Windows 2017-05-31 22:07:49 +00:00
debug.cpp Fix debug mode build w/o exceptions 2016-12-28 05:20:27 +00:00
exception.cpp [libc++] Replace __sync_* functions with __libcpp_atomic_* functions 2017-09-19 23:18:03 +00:00
functional.cpp [libc++] Add a key function for bad_function_call 2017-03-28 19:33:31 +00:00
future.cpp Make it possible to build a no-exceptions variant of libcxx. 2015-11-10 11:41:22 +00:00
hash.cpp
ios.cpp [Libc++] Use #pragma push_macro/pop_macro to better handle min/max on Windows 2017-05-31 22:07:49 +00:00
iostream.cpp [libc++] Don't hardcode namespace in manual mangling 2017-08-07 19:59:58 +00:00
locale.cpp [libc++] Replace __sync_* functions with __libcpp_atomic_* functions 2017-09-19 23:18:03 +00:00
memory.cpp Fix incorrect usage of __libcpp_mutex_trylock. Patch from Andrey Khalyavin 2017-05-04 07:45:09 +00:00
mutex.cpp [Libc++] Use #pragma push_macro/pop_macro to better handle min/max on Windows 2017-05-31 22:07:49 +00:00
new.cpp [libc++] Replace __sync_* functions with __libcpp_atomic_* functions 2017-09-19 23:18:03 +00:00
optional.cpp Restore the _NOEXCEPT on the dtor of bad_optional_access. Destructors are noexcept by default, so it's not really needed, but the other exception classes have the _NOEXCEPT, and gcc complains if these are missing. I think we should remove them all - but not today. 2017-02-05 20:52:32 +00:00
random.cpp random: include __config before building 2016-12-31 00:00:21 +00:00
regex.cpp [libcxx] Remove pragmas that were needed to suppress warnings produced 2016-01-28 06:13:36 +00:00
shared_mutex.cpp Implement N4508: shared_mutex. Reviewed as http://reviews.llvm.org/D10480 2015-06-30 14:04:14 +00:00
stdexcept.cpp Remove <__refstring> header; Move it into source directory. 2017-07-12 01:38:35 +00:00
string.cpp [libc++] Refactor Windows support headers. 2017-05-10 20:57:45 +00:00
strstream.cpp Make pbump (internally) handle sizes bigger than MAX_INT. Fixes PR#33725 - thanks to Jonathan Wakely for the report 2017-09-12 15:00:43 +00:00
system_error.cpp Rework libcxx strerror_r handling. 2017-07-19 21:48:49 +00:00
thread.cpp Fix Libc++ build with MinGW64 2017-05-31 22:14:05 +00:00
typeinfo.cpp typeinfo: provide a partial implementation for Win32 2017-09-15 05:42:39 +00:00
utility.cpp
valarray.cpp Revert "Turn off extern templates for most uses." 2014-08-15 17:58:56 +00:00
variant.cpp Implement C++17 <variant>. Patch from Michael Park! 2016-12-02 23:00:05 +00:00
vector.cpp Move external instantiation for __vector_base_common to vector.cpp 2017-06-15 01:53:12 +00:00