]> granicus.if.org Git - icu/commitdiff
ICU-13448 Feedback from clang expert was that these should not be specific to MSVC...
authorJeff Genovy <29107334+jefgen@users.noreply.github.com>
Thu, 26 Oct 2017 06:49:15 +0000 (06:49 +0000)
committerJeff Genovy <29107334+jefgen@users.noreply.github.com>
Thu, 26 Oct 2017 06:49:15 +0000 (06:49 +0000)
X-SVN-Rev: 40643

icu4c/source/i18n/collationiterator.h
icu4c/source/i18n/number_decimfmtprops.h
icu4c/source/i18n/number_patternmodifier.h
icu4c/source/i18n/unicode/datefmt.h
icu4c/source/i18n/unicode/decimfmt.h

index ff6e5ecea8e5fa0ceaec41c3e1151c5a08fef63a..12e05b4482fab2d45352f20cbe57401feafb0038 100644 (file)
@@ -34,12 +34,12 @@ class UVector32;
 // Export an explicit template instantiation of the MaybeStackArray that
 //    is used as a data member of CEBuffer.
 //
-//    MSVC requires this, even though it should not be necessary. 
-//    No direct access to the MaybeStackArray leaks out of the i18n library.
+//    When building DLLs for Windows this is required even though
+//    no direct access to the MaybeStackArray leaks out of the i18n library.
 //
 // See digitlst.h, pluralaffix.h, datefmt.h, and others for similar examples.
 //
-#if defined (_MSC_VER)
+#if U_PF_WINDOWS <= U_PLATFORM && U_PLATFORM <= U_PF_CYGWIN
 template class U_I18N_API MaybeStackArray<int64_t, CEBUFFER_INITIAL_CAPACITY>;
 #endif
 
index 3e25966b6f5612e7444e30e9a9e3a1b518065c48..96356cad45321d05d0bb117d586ff05aa5133d26 100644 (file)
@@ -19,8 +19,8 @@ U_NAMESPACE_BEGIN
 
 // Export an explicit template instantiation of the LocalPointer that is used as a
 // data member of CurrencyPluralInfoWrapper.
-// (MSVC requires this, even though it should not be necessary.)
-#if defined (_MSC_VER)
+// (When building DLLs for Windows this is required.)
+#if U_PF_WINDOWS <= U_PLATFORM && U_PLATFORM <= U_PF_CYGWIN
 // Ignore warning 4661 as LocalPointerBase does not use operator== or operator!=
 #pragma warning(suppress: 4661)
 template class U_I18N_API LocalPointerBase<CurrencyPluralInfo>;
index 705037f0ba71733c64caba065004a674040fb2be..3feaee04c8ce2e48abf11f1d0c38120b5e94b8c2 100644 (file)
@@ -18,8 +18,8 @@ U_NAMESPACE_BEGIN
 
 // Export an explicit template instantiation of the LocalPointer that is used as a
 // data member of ParameterizedModifier.
-// (MSVC requires this, even though it should not be necessary.)
-#if defined (_MSC_VER)
+// (When building DLLs for Windows this is required.)
+#if U_PF_WINDOWS <= U_PLATFORM && U_PLATFORM <= U_PF_CYGWIN
 // Ignore warning 4661 as LocalPointerBase does not use operator== or operator!=
 #pragma warning(suppress: 4661)
 template class U_I18N_API LocalPointerBase<number::impl::ParameterizedModifier>;
index 3da0797a09bddb8653161cb86a0dea19f9c7f72d..f8bcf54bfb351f864555d513a12833c9dcb9d2a4 100644 (file)
@@ -44,7 +44,8 @@ class TimeZone;
 class DateTimePatternGenerator;
 
 // explicit template instantiation. see digitlst.h
-#if defined (_MSC_VER)
+// (When building DLLs for Windows this is required.)
+#if U_PF_WINDOWS <= U_PLATFORM && U_PLATFORM <= U_PF_CYGWIN
 template class U_I18N_API EnumSet<UDateFormatBooleanAttribute,
             0, 
             UDAT_BOOLEAN_ATTRIBUTE_COUNT>;
index 790053636d59573ff8c47f53ef706ab05094854e..2918ea1dd8aba0558dcbc02341ae119bcc4c7bca 100644 (file)
@@ -67,7 +67,8 @@ class PluralRules;
 class VisibleDigitsWithExponent;
 
 // explicit template instantiation. see digitlst.h
-#if defined (_MSC_VER)
+// (When building DLLs for Windows this is required.)
+#if U_PF_WINDOWS <= U_PLATFORM && U_PLATFORM <= U_PF_CYGWIN
 template class U_I18N_API    EnumSet<UNumberFormatAttribute,
             UNUM_MAX_NONBOOLEAN_ATTRIBUTE+1,
             UNUM_LIMIT_BOOLEAN_ATTRIBUTE>;