mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-01 06:35:42 +00:00
e99c905c87
--HG-- extra : rebase_source : cc09faf999e90567de564c0b0b8349c701b73f83
24 lines
976 B
Diff
24 lines
976 B
Diff
diff --git a/intl/icu/source/common/umutex.cpp b/intl/icu/source/common/umutex.cpp
|
|
index 8f55208..281c370 100644
|
|
--- a/intl/icu/source/common/umutex.cpp
|
|
+++ b/intl/icu/source/common/umutex.cpp
|
|
@@ -64,17 +64,17 @@ static UMutex globalMutex = U_MUTEX_INITIALIZER;
|
|
// the caller needs to call the Init function.
|
|
//
|
|
|
|
U_NAMESPACE_BEGIN
|
|
|
|
U_COMMON_API UBool U_EXPORT2 umtx_initImplPreInit(UInitOnce &uio) {
|
|
for (;;) {
|
|
int32_t previousState = InterlockedCompareExchange(
|
|
-#if (U_PLATFORM == U_PF_MINGW) || (U_PLATFORM == U_PF_CYGWIN)
|
|
+#if (U_PLATFORM == U_PF_MINGW) || (U_PLATFORM == U_PF_CYGWIN) || defined(__clang__)
|
|
(LONG volatile *) // this is the type given in the API doc for this function.
|
|
#endif
|
|
&uio.fState, // Destination
|
|
1, // Exchange Value
|
|
0); // Compare value
|
|
|
|
if (previousState == 0) {
|
|
return true; // Caller will next call the init function.
|