forked from OSchip/llvm-project
parent
923feac4e2
commit
509bb7423e
|
@ -28,7 +28,7 @@ void object_deleter(void *Ptr) {
|
|||
/// ManagedStaticBase - Common base class for ManagedStatic instances.
|
||||
class ManagedStaticBase {
|
||||
protected:
|
||||
sys::cas_flag InitFlag;
|
||||
mutable sys::cas_flag InitFlag;
|
||||
|
||||
// This should only be used as a static variable, which guarantees that this
|
||||
// will be zero initialized.
|
||||
|
|
|
@ -55,10 +55,10 @@ namespace llvm {
|
|||
OSMemoryBarrier();
|
||||
}
|
||||
|
||||
typedef volatile UInt32 cas_flag;
|
||||
typedef volatile int32_t cas_flag;
|
||||
inline cas_flag CompareAndSwap(cas_flag* dest, cas_flag exc, cas_flag c) {
|
||||
cas_flag old = *dest;
|
||||
OSCompareAndSwap(c, exc, dest);
|
||||
OSAtomicCompareAndSwap32(c, exc, dest);
|
||||
return old;
|
||||
}
|
||||
#elif defined(LLVM_ON_WIN32)
|
||||
|
|
Loading…
Reference in New Issue