CP PR2090 to remove ATOMIC_VAR_INIT
Remove macros ATOMIC_INT32_T_INITIALIZER and U_INITONCE_INITIALIZER
for C++20 because ATOMIC_VAR_INIT is removed from C++20.
Bug: chromium:1284275
Change-Id: Iedf777df164d60ffb801ea20440b2583b44bad0d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/deps/icu/+/3652613
Reviewed-by: Jungshik Shin <jshin@chromium.org>
diff --git a/source/common/udata.cpp b/source/common/udata.cpp
index 07156da..2d58029 100644
--- a/source/common/udata.cpp
+++ b/source/common/udata.cpp
@@ -106,10 +106,10 @@
*/
static UDataMemory *gCommonICUDataArray[10] = { NULL }; // Access protected by icu global mutex.
-static u_atomic_int32_t gHaveTriedToLoadCommonData = ATOMIC_INT32_T_INITIALIZER(0); // See extendICUData().
+static u_atomic_int32_t gHaveTriedToLoadCommonData {0}; // See extendICUData().
static UHashtable *gCommonDataCache = NULL; /* Global hash table of opened ICU data files. */
-static icu::UInitOnce gCommonDataCacheInitOnce = U_INITONCE_INITIALIZER;
+static icu::UInitOnce gCommonDataCacheInitOnce {};
#if !defined(ICU_DATA_DIR_WINDOWS)
static UDataFileAccess gDataFileAccess = UDATA_DEFAULT_ACCESS; // Access not synchronized.