view src/icu4c-1-fixes.patch @ 4945:76828d146a8d

icu4c.mk: Don't link with msvcr100 or force --std=gnu++0x. Set CPPFLAGS, not CFLAGS.
author John W. Eaton <jwe@octave.org>
date Tue, 29 Jan 2019 12:41:34 -0500
parents b8eca8e69ef9
children
line wrap: on
line source

diff -ur icu.orig/source/common/umutex.h icu/source/common/umutex.h
--- icu.orig/source/common/umutex.h	2018-11-28 07:44:08.599310972 -0500
+++ icu/source/common/umutex.h	2018-11-28 07:48:11.600429267 -0500
@@ -54,15 +54,15 @@
 
 #include <atomic>
 
-U_NAMESPACE_BEGIN
-
 // Export an explicit template instantiation of std::atomic<int32_t>. 
 // When building DLLs for Windows this is required as it is used as a data member of the exported SharedObject class.
 // See digitlst.h, pluralaffix.h, datefmt.h, and others for similar examples.
-#if U_PF_WINDOWS <= U_PLATFORM && U_PLATFORM <= U_PF_CYGWIN
+#if U_PF_WINDOWS <= U_PLATFORM && U_PLATFORM <= U_PF_CYGWIN && !defined(U_IN_DOXYGEN)
 template struct U_COMMON_API std::atomic<int32_t>;
 #endif
 
+U_NAMESPACE_BEGIN
+
 typedef std::atomic<int32_t> u_atomic_int32_t;
 #define ATOMIC_INT32_T_INITIALIZER(val) ATOMIC_VAR_INIT(val)
 
diff -ur icu.orig/source/i18n/unicode/numberrangeformatter.h icu/source/i18n/unicode/numberrangeformatter.h
--- icu.orig/source/i18n/unicode/numberrangeformatter.h	2018-11-28 07:44:08.647312767 -0500
+++ icu/source/i18n/unicode/numberrangeformatter.h	2018-11-28 07:50:46.246265906 -0500
@@ -185,8 +185,15 @@
  * Export an explicit template instantiation. See datefmt.h
  * (When building DLLs for Windows this is required.)
  */
-#if U_PF_WINDOWS <= U_PLATFORM && U_PLATFORM <= U_PF_CYGWIN && !defined(U_IN_DOXYGEN)
-template struct U_I18N_API std::atomic<impl::NumberRangeFormatterImpl*>;
+#if U_PLATFORM == U_PF_WINDOWS && !defined(U_IN_DOXYGEN)
+} // namespace icu::number
+U_NAMESPACE_END
+
+template struct U_I18N_API std::atomic< U_NAMESPACE_QUALIFIER number::impl::NumberRangeFormatterImpl*>;
+
+U_NAMESPACE_BEGIN
+namespace number {  // icu::number
+ 
 #endif
 /** \endcond */
 
diff -ur icu.orig/source/test/intltest/numbertest.h icu/source/test/intltest/numbertest.h
--- icu.orig/source/test/intltest/numbertest.h	2018-11-28 07:44:08.547309026 -0500
+++ icu/source/test/intltest/numbertest.h	2018-11-28 07:51:46.752552939 -0500
@@ -10,6 +10,7 @@
 #include "intltest.h"
 #include "number_affixutils.h"
 #include "numparse_stringsegment.h"
+#include "numrange_impl.h"
 #include "unicode/locid.h"
 #include "unicode/numberformatter.h"
 #include "unicode/numberrangeformatter.h"