Building ICU-63.1 on Cygwin fails with the following error:
icu/source/i18n/unicode/numberrangeformatter.h:189:33: error: explicit instantiation of ‘struct std::atomic<icu_63::number::impl::NumberRangeFormatterImpl*>’ in namespace ‘icu_63::number’ (which does not enclose namespace ‘std’) [-fpermissive]
template struct U_I18N_API std::atomic<impl::NumberRangeFormatterImpl*>;
This problem started with the following commit:
Author: Jeff Genovy <email@example.com>
Date: Fri Oct 5 10:44:52 2018 -0700
Fix MSVC/clang compiler warning C4251, export explicit template, required for building DLLs on Windows. Also fix a few other warnings as well.
My C++ knowledge isn't good enough to understand what this is all about, but there's an obvious fix, for which I'll submit a PR.