aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/llvm/Support/ManagedStatic.h2
-rw-r--r--include/llvm/System/Atomic.h4
2 files changed, 3 insertions, 3 deletions
diff --git a/include/llvm/Support/ManagedStatic.h b/include/llvm/Support/ManagedStatic.h
index 4c1271c..e6384c7 100644
--- a/include/llvm/Support/ManagedStatic.h
+++ b/include/llvm/Support/ManagedStatic.h
@@ -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.
diff --git a/include/llvm/System/Atomic.h b/include/llvm/System/Atomic.h
index 2f95e0f..c6d5953 100644
--- a/include/llvm/System/Atomic.h
+++ b/include/llvm/System/Atomic.h
@@ -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)