[vlc-commits] Fix C++11 compilation of atomic

Jean-Baptiste Kempf git at videolan.org
Tue May 26 14:10:29 CEST 2015


vlc | branch: master | Jean-Baptiste Kempf <jb at videolan.org> | Tue May 26 13:39:00 2015 +0200| [66842e08e177e3c458fa0e4db970deae84feb625] | committer: Jean-Baptiste Kempf

Fix C++11 compilation of atomic

Close #14569

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=66842e08e177e3c458fa0e4db970deae84feb625
---

 include/vlc_atomic.h |   72 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 72 insertions(+)

diff --git a/include/vlc_atomic.h b/include/vlc_atomic.h
index af88eab..dbe7bf9 100644
--- a/include/vlc_atomic.h
+++ b/include/vlc_atomic.h
@@ -32,6 +32,78 @@
 /*** Native C11 atomics ***/
 #  include <stdatomic.h>
 
+# elif defined (__cplusplus) && (__cplusplus >= 201103L)
+#   include <atomic>
+using std::atomic_is_lock_free;
+using std::atomic_init;
+using std::atomic_store;
+using std::atomic_store_explicit;
+using std::atomic_load;
+using std::atomic_load_explicit;
+using std::atomic_exchange;
+using std::atomic_exchange_explicit;
+using std::atomic_compare_exchange_strong;
+using std::atomic_compare_exchange_strong_explicit;
+using std::atomic_compare_exchange_weak;
+using std::atomic_compare_exchange_weak_explicit;
+using std::atomic_fetch_add;
+using std::atomic_fetch_add_explicit;
+using std::atomic_fetch_sub;
+using std::atomic_fetch_sub_explicit;
+using std::atomic_fetch_or;
+using std::atomic_fetch_or_explicit;
+using std::atomic_fetch_xor;
+using std::atomic_fetch_xor_explicit;
+using std::atomic_fetch_and;
+using std::atomic_fetch_and_explicit;
+using std::atomic_thread_fence;
+using std::atomic_signal_fence;
+
+using std::memory_order;
+using std::memory_order_relaxed;
+using std::memory_order_consume;
+using std::memory_order_release;
+using std::memory_order_acq_rel;
+using std::memory_order_seq_cst;
+
+using std::atomic_flag;
+using std::atomic_bool;
+using std::atomic_char;
+using std::atomic_schar;
+using std::atomic_uchar;
+using std::atomic_short;
+using std::atomic_ushort;
+using std::atomic_int;
+using std::atomic_uint;
+using std::atomic_long;
+using std::atomic_ulong;
+using std::atomic_llong;
+using std::atomic_ullong;
+//using std::atomic_char16_t;
+//using std::atomic_char32_t;
+using std::atomic_wchar_t;
+using std::atomic_int_least8_t;
+using std::atomic_uint_least8_t;
+using std::atomic_int_least16_t;
+using std::atomic_uint_least16_t;
+using std::atomic_int_least32_t;
+using std::atomic_uint_least32_t;
+using std::atomic_int_least64_t;
+using std::atomic_uint_least64_t;
+using std::atomic_int_fast8_t;
+using std::atomic_uint_fast8_t;
+using std::atomic_int_fast16_t;
+using std::atomic_uint_fast16_t;
+using std::atomic_int_fast32_t;
+using std::atomic_uint_fast32_t;
+using std::atomic_int_fast64_t;
+using std::atomic_uint_fast64_t;
+using std::atomic_intptr_t;
+using std::atomic_uintptr_t;
+using std::atomic_size_t;
+using std::atomic_ptrdiff_t;
+using std::atomic_intmax_t;
+using std::atomic_uintmax_t;
 # else
 
 #  define ATOMIC_FLAG_INIT false



More information about the vlc-commits mailing list