Index: libcxx/include/__config =================================================================== --- libcxx/include/__config +++ libcxx/include/__config @@ -636,6 +636,7 @@ #define _LIBCPP_TYPE_VIS _LIBCPP_DLL_VIS #define _LIBCPP_FUNC_VIS _LIBCPP_DLL_VIS +#define _LIBCPP_DATA_VIS #define _LIBCPP_EXCEPTION_ABI _LIBCPP_DLL_VIS #define _LIBCPP_HIDDEN #define _LIBCPP_METHOD_TEMPLATE_IMPLICIT_INSTANTIATION_VIS @@ -669,6 +670,14 @@ # endif #endif +#ifndef _LIBCPP_DATA_VIS +# if !defined(_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS) +# define _LIBCPP_DATA_VIS __attribute__ ((__visibility__("default"))) +# else +# define _LIBCPP_DATA_VIS +# endif +#endif + #ifndef _LIBCPP_TYPE_VIS # if !defined(_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS) # define _LIBCPP_TYPE_VIS __attribute__ ((__visibility__("default"))) Index: libcxx/include/string =================================================================== --- libcxx/include/string +++ libcxx/include/string @@ -805,7 +805,7 @@ __compressed_pair<__rep, allocator_type> __r_; public: - _LIBCPP_FUNC_VIS + _LIBCPP_DATA_VIS static const size_type npos = -1; _LIBCPP_INLINE_VISIBILITY basic_string() @@ -4404,7 +4404,7 @@ _LIBCPP_FUNC_VIS wstring to_wstring(long double __val); template -_LIBCPP_FUNC_VIS +_LIBCPP_DATA_VIS const typename basic_string<_CharT, _Traits, _Allocator>::size_type basic_string<_CharT, _Traits, _Allocator>::npos;