14 #ifndef ATOMICADJUST_H 15 #define ATOMICADJUST_H 20 #if defined(CPPPARSER) 24 typedef void *UnalignedPointer;
25 typedef UnalignedPointer Pointer;
28 #elif defined(THREAD_DUMMY_IMPL) || defined(THREAD_SIMPLE_IMPL) 33 #elif (defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7))) || (defined(__clang__) && (__clang_major__ >= 3)) 40 #if (__GCC_ATOMIC_INT_LOCK_FREE + __GCC_ATOMIC_LONG_LOCK_FREE) > 0 41 #define HAVE_ATOMIC_COMPARE_AND_EXCHANGE 1 43 #if __GCC_ATOMIC_POINTER_LOCK_FREE > 0 44 #define HAVE_ATOMIC_COMPARE_AND_EXCHANGE_PTR 1 47 #elif (defined(__i386__) || defined(_M_IX86)) && !defined(__APPLE__) 59 #define HAVE_ATOMIC_COMPARE_AND_EXCHANGE 1 60 #define HAVE_ATOMIC_COMPARE_AND_EXCHANGE_PTR 1 62 #elif defined(THREAD_WIN32_IMPL) 67 #define HAVE_ATOMIC_COMPARE_AND_EXCHANGE 1 68 #define HAVE_ATOMIC_COMPARE_AND_EXCHANGE_PTR 1 70 #elif defined(THREAD_LINUX_IMPL) 72 #error Linux native threads are currently implemented only for i386; use Posix threads instead. 74 #elif defined(THREAD_POSIX_IMPL) PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
A trivial implementation for atomic adjustments for systems that don't require multiprogramming,...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.