We're updating the issue view to help you get more done. 

ICU4C: Fix MSVC Warning/Error C4251 in i18n library code (CodePointMatcherWarehouse).

Description

This was accidentally regressed by the change in ICU-20202.

We'll want to fix this in ICU, as some consumers of ICU that treat C4251 as fatal will have build breaks (ex: Firefox).

1 2 3 4 5 6 7 8 9 ##[warning]icu4c\source\i18n\numparse_affixes.h(115,0): Warning C4251: 'icu_63::numparse::impl::AffixTokenMatcherWarehouse::fCodePoints': class 'icu_63::MemoryPool<icu_63::numparse::impl::CodePointMatcher>' needs to have dll-interface to be used by clients of class 'icu_63::numparse::impl::AffixTokenMatcherWarehouse' (compiling source file compactdecimalformat.cpp) d:\a\1\s\icu4c\source\i18n\numparse_affixes.h(115): warning C4251: 'icu_63::numparse::impl::AffixTokenMatcherWarehouse::fCodePoints': class 'icu_63::MemoryPool<icu_63::numparse::impl::CodePointMatcher>' needs to have dll-interface to be used by clients of class 'icu_63::numparse::impl::AffixTokenMatcherWarehouse' (compiling source file compactdecimalformat.cpp) [D:\a\1\s\icu4c\source\i18n\i18n.vcxproj] d:\a\1\s\icu4c\source\i18n\numparse_affixes.h(115): note: see declaration of 'icu_63::MemoryPool<icu_63::numparse::impl::CodePointMatcher>' (compiling source file compactdecimalformat.cpp) ##[warning]icu4c\source\i18n\number_decimfmtprops.h(28,0): Warning C4661: 'bool icu_63::LocalPointerBase<icu_63::CurrencyPluralInfo>::operator ==(const icu_63::LocalPointerBase<icu_63::CurrencyPluralInfo> &)': no suitable definition provided for explicit template instantiation request (compiling source file compactdecimalformat.cpp) d:\a\1\s\icu4c\source\i18n\number_decimfmtprops.h(28): warning C4661: 'bool icu_63::LocalPointerBase<icu_63::CurrencyPluralInfo>::operator ==(const icu_63::LocalPointerBase<icu_63::CurrencyPluralInfo> &)': no suitable definition provided for explicit template instantiation request (compiling source file compactdecimalformat.cpp) [D:\a\1\s\icu4c\source\i18n\i18n.vcxproj] d:\a\1\s\icu4c\include\unicode\localpointer.h(163): note: see declaration of 'icu_63::LocalPointerBase<icu_63::CurrencyPluralInfo>::operator ==' (compiling source file compactdecimalformat.cpp) ##[warning]icu4c\source\i18n\number_decimfmtprops.h(28,0): Warning C4661: 'bool icu_63::LocalPointerBase<icu_63::CurrencyPluralInfo>::operator !=(const icu_63::LocalPointerBase<icu_63::CurrencyPluralInfo> &)': no suitable definition provided for explicit template instantiation request (compiling source file compactdecimalformat.cpp) d:\a\1\s\icu4c\source\i18n\number_decimfmtprops.h(28): warning C4661: 'bool icu_63::LocalPointerBase<icu_63::CurrencyPluralInfo>::operator !=(const icu_63::LocalPointerBase<icu_63::CurrencyPluralInfo> &)': no suitable definition provided for explicit template instantiation request (compiling source file compactdecimalformat.cpp) [D:\a\1\s\icu4c\source\i18n\i18n.vcxproj] d:\a\1\s\icu4c\include\unicode\localpointer.h(164): note: see declaration of 'icu_63::LocalPointerBase<icu_63::CurrencyPluralInfo>::operator !=' (compiling source file compactdecimalformat.cpp)

Status

Assignee

Jeff Genovy

Reporter

Jeff Genovy

Reviewer

Fredrik Roubert

Components

Fix versions

Priority

minor