6 #ifndef EASTL_ATOMIC_INTERNAL_COMPILER_H
7 #define EASTL_ATOMIC_INTERNAL_COMPILER_H
9 #if defined(EA_PRAGMA_ONCE_SUPPORTED)
18 #if defined(EA_COMPILER_GNUC) || defined(__clang__)
20 #include "gcc/compiler_gcc.h"
22 #elif defined(EA_COMPILER_MSVC)
24 #include "msvc/compiler_msvc.h"
69 typedef void (*CompilerBarrierDataDependencyFuncPtr)(
void*);
71 extern EASTL_API
volatile CompilerBarrierDataDependencyFuncPtr gCompilerBarrierDataDependencyFunc;
74 #define EASTL_COMPILER_ATOMIC_COMPILER_BARRIER_DATA_DEPENDENCY_FUNC(ptr) \
75 eastl::internal::gCompilerBarrierDataDependencyFunc(ptr)
87 #include "compiler_fetch_add.h"
88 #include "compiler_fetch_sub.h"
90 #include "compiler_fetch_and.h"
91 #include "compiler_fetch_xor.h"
92 #include "compiler_fetch_or.h"
94 #include "compiler_add_fetch.h"
95 #include "compiler_sub_fetch.h"
97 #include "compiler_and_fetch.h"
98 #include "compiler_xor_fetch.h"
99 #include "compiler_or_fetch.h"
101 #include "compiler_exchange.h"
103 #include "compiler_cmpxchg_weak.h"
104 #include "compiler_cmpxchg_strong.h"
106 #include "compiler_load.h"
107 #include "compiler_store.h"
109 #include "compiler_barrier.h"
111 #include "compiler_cpu_pause.h"
113 #include "compiler_memory_barrier.h"
115 #include "compiler_signal_fence.h"
117 #include "compiler_thread_fence.h"
EA Standard Template Library.
Definition: algorithm.h:288