Index: source/common/umutex.h |
diff --git a/source/common/umutex.h b/source/common/umutex.h |
index 0e4d118523c874f34098d4038c2167ced663fd8e..de512ff11664c9e188b287ce7cdfad893e276c8e 100644 |
--- a/source/common/umutex.h |
+++ b/source/common/umutex.h |
@@ -1,3 +1,5 @@ |
+// Copyright (C) 2016 and later: Unicode, Inc. and others. |
+// License & terms of use: http://www.unicode.org/copyright.html |
/* |
********************************************************************** |
* Copyright (C) 1997-2015, International Business Machines |
@@ -229,7 +231,7 @@ struct UInitOnce { |
U_COMMON_API UBool U_EXPORT2 umtx_initImplPreInit(UInitOnce &); |
U_COMMON_API void U_EXPORT2 umtx_initImplPostInit(UInitOnce &); |
-template<class T> void umtx_initOnce(UInitOnce &uio, T *obj, void (T::*fp)()) { |
+template<class T> void umtx_initOnce(UInitOnce &uio, T *obj, void (U_CALLCONV T::*fp)()) { |
if (umtx_loadAcquire(uio.fState) == 2) { |
return; |
} |
@@ -242,7 +244,7 @@ template<class T> void umtx_initOnce(UInitOnce &uio, T *obj, void (T::*fp)()) { |
// umtx_initOnce variant for plain functions, or static class functions. |
// No context parameter. |
-inline void umtx_initOnce(UInitOnce &uio, void (*fp)()) { |
+inline void umtx_initOnce(UInitOnce &uio, void (U_CALLCONV *fp)()) { |
if (umtx_loadAcquire(uio.fState) == 2) { |
return; |
} |
@@ -254,7 +256,7 @@ inline void umtx_initOnce(UInitOnce &uio, void (*fp)()) { |
// umtx_initOnce variant for plain functions, or static class functions. |
// With ErrorCode, No context parameter. |
-inline void umtx_initOnce(UInitOnce &uio, void (*fp)(UErrorCode &), UErrorCode &errCode) { |
+inline void umtx_initOnce(UInitOnce &uio, void (U_CALLCONV *fp)(UErrorCode &), UErrorCode &errCode) { |
if (U_FAILURE(errCode)) { |
return; |
} |
@@ -273,7 +275,7 @@ inline void umtx_initOnce(UInitOnce &uio, void (*fp)(UErrorCode &), UErrorCode & |
// umtx_initOnce variant for plain functions, or static class functions, |
// with a context parameter. |
-template<class T> void umtx_initOnce(UInitOnce &uio, void (*fp)(T), T context) { |
+template<class T> void umtx_initOnce(UInitOnce &uio, void (U_CALLCONV *fp)(T), T context) { |
if (umtx_loadAcquire(uio.fState) == 2) { |
return; |
} |
@@ -285,7 +287,7 @@ template<class T> void umtx_initOnce(UInitOnce &uio, void (*fp)(T), T context) { |
// umtx_initOnce variant for plain functions, or static class functions, |
// with a context parameter and an error code. |
-template<class T> void umtx_initOnce(UInitOnce &uio, void (*fp)(T, UErrorCode &), T context, UErrorCode &errCode) { |
+template<class T> void umtx_initOnce(UInitOnce &uio, void (U_CALLCONV *fp)(T, UErrorCode &), T context, UErrorCode &errCode) { |
if (U_FAILURE(errCode)) { |
return; |
} |