This fixes clang warnings (that are treated as errors when running the test suite):
libcxx/include/string:4409:59: error: definition of dllimport static field [-Werror,-Wdllimport-static-field-def] basic_string<_CharT, _Traits, _Allocator>::npos;
The warning is normally not visible as long as the libc++ headers are treated as system headers.
The same construct is always an error in MSVC.
(One _LIBCPP_FUNC_VIS was added in
rG2d8f23f571635c1fb983b40c4c2548716a5b65b6, which broke DLL builds.
rG59919c4d6b6370da7133bbca0d31844e21646bb1 fixed this by adding another
_LIBCPP_FUNC_VIS on the declaration for consistency, but the underlying
issue remained, that one can't use dllimport here.)
Maybe this can just be called _LIBCPP_DEFAULT_VISIBILITY?
And we could maybe also reuse this macro in the various _LIBCPP_FUNC_VIS & other macros (as a separate patch, I can try to clean this up).