]> git.saurik.com Git - apple/icu.git/blobdiff - icuSources/common/umutex.cpp
ICU-62108.0.1.tar.gz
[apple/icu.git] / icuSources / common / umutex.cpp
index 69eab79ff94508008cb1f056d0063b9026d4c387..29dbc90ec9854d21487e472f5f0c3f32184ba684 100644 (file)
@@ -1,7 +1,9 @@
+// © 2016 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html
 /*
 ******************************************************************************
 *
 /*
 ******************************************************************************
 *
-*   Copyright (C) 1997-2015, International Business Machines
+*   Copyright (C) 1997-2016, International Business Machines
 *   Corporation and others.  All Rights Reserved.
 *
 ******************************************************************************
 *   Corporation and others.  All Rights Reserved.
 *
 ******************************************************************************
@@ -37,16 +39,7 @@ static UMutex   globalMutex = U_MUTEX_INITIALIZER;
 // Build time user mutex hook: #include "U_USER_MUTEX_CPP"
 #include U_MUTEX_XSTR(U_USER_MUTEX_CPP)
 
 // Build time user mutex hook: #include "U_USER_MUTEX_CPP"
 #include U_MUTEX_XSTR(U_USER_MUTEX_CPP)
 
-#elif U_PLATFORM_HAS_WIN32_API
-
-//-------------------------------------------------------------------------------------------
-//
-//    Windows Specific Definitions
-//
-//        Note: Cygwin (and possibly others) have both WIN32 and POSIX.
-//              Prefer Win32 in these cases.  (Win32 comes ahead in the #if chain)
-//
-//-------------------------------------------------------------------------------------------
+#elif U_PLATFORM_USES_ONLY_WIN32_API
 
 #if defined U_NO_PLATFORM_ATOMICS
 #error ICU on Win32 requires support for low level atomic operations.
 
 #if defined U_NO_PLATFORM_ATOMICS
 #error ICU on Win32 requires support for low level atomic operations.
@@ -68,10 +61,8 @@ U_NAMESPACE_BEGIN
 U_COMMON_API UBool U_EXPORT2 umtx_initImplPreInit(UInitOnce &uio) {
     for (;;) {
         int32_t previousState = InterlockedCompareExchange(
 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) || defined(__clang__)
-           (LONG volatile *) // this is the type given in the API doc for this function.
-#endif
-            &uio.fState,  //  Destination
+            (LONG volatile *) // this is the type given in the API doc for this function.
+                &uio.fState,  //  Destination
             1,            //  Exchange Value
             0);           //  Compare value
 
             1,            //  Exchange Value
             0);           //  Compare value
 
@@ -141,7 +132,7 @@ umtx_condBroadcast(UConditionVar *condition) {
 }
 
 U_CAPI void U_EXPORT2
 }
 
 U_CAPI void U_EXPORT2
-umtx_condSignal(UConditionVar *condition) {
+umtx_condSignal(UConditionVar * /* condition */) {
     // Function not implemented. There is no immediate requirement from ICU to have it.
     // Once ICU drops support for Windows XP and Server 2003, ICU Condition Variables will be
     // changed to be thin wrappers on native Windows CONDITION_VARIABLEs, and this function
     // Function not implemented. There is no immediate requirement from ICU to have it.
     // Once ICU drops support for Windows XP and Server 2003, ICU Condition Variables will be
     // changed to be thin wrappers on native Windows CONDITION_VARIABLEs, and this function