From a link in the Android code review that points to discussion on a LLVM review:
Contrary to MSVC, GCC/MinGW needs to have the dllexport attribute on the template instantiation declaration, not on the definition.
Previously clang never marked explicit template instantiations as dllexport in MinGW mode, if the instantiation had a previous declaration, regardless of where the attribute was placed. This makes Clang behave like GCC in this regard, and allows using the same attribute form for both MinGW compilers.
I wonder if we might need to fork this for MSVC vs other compilers.
Android upgrade LLVM toolchain to r365631 and we got this error.
We temporarily suppress new ignored-attributes warning in Android: https://r.android.com/c/platform/external/icu/+/1102131