diff options
| author | Howard Hinnant <hhinnant@apple.com> | 2010-09-10 16:42:26 +0000 |
|---|---|---|
| committer | Howard Hinnant <hhinnant@apple.com> | 2010-09-10 16:42:26 +0000 |
| commit | f9cca3b7d0a5bfbc4388d18799a8c4423e352856 (patch) | |
| tree | 685059acffad7c7aad1514c2d29a272730b9b4eb /libcxx/include | |
| parent | d0211cc65763d6d4a0bd4e5090e99044e045b380 (diff) | |
| download | bcm5719-llvm-f9cca3b7d0a5bfbc4388d18799a8c4423e352856.tar.gz bcm5719-llvm-f9cca3b7d0a5bfbc4388d18799a8c4423e352856.zip | |
I am experimenting with putting visibility-default attributes on all struct/classes in libc++. This checkin decorates only basic_string and vector as an experiment, and for review by those in this audience that might know more about visibilty than I do. If I get no negative feedback on this procedure I will begin to decorate the entire library in this way.
llvm-svn: 113590
Diffstat (limited to 'libcxx/include')
| -rw-r--r-- | libcxx/include/iosfwd | 6 | ||||
| -rw-r--r-- | libcxx/include/memory | 2 | ||||
| -rw-r--r-- | libcxx/include/string | 6 | ||||
| -rw-r--r-- | libcxx/include/vector | 4 |
4 files changed, 9 insertions, 9 deletions
diff --git a/libcxx/include/iosfwd b/libcxx/include/iosfwd index a4d3f38b50b..f9ca1a6acc9 100644 --- a/libcxx/include/iosfwd +++ b/libcxx/include/iosfwd @@ -92,8 +92,8 @@ typedef fpos<char_traits<wchar_t>::state_type> wstreampos; _LIBCPP_BEGIN_NAMESPACE_STD -template<class _CharT> struct char_traits; -template<class _Tp> class allocator; +template<class _CharT> struct _LIBCPP_VISIBLE char_traits; +template<class _Tp> class _LIBCPP_VISIBLE allocator; template <class _CharT, class _Traits = char_traits<_CharT> > class basic_ios; @@ -164,7 +164,7 @@ typedef long long streamoff; // for char_traits in <string> template <class _CharT, // for <stdexcept> class _Traits = char_traits<_CharT>, - class _Allocator = allocator<_CharT> > class basic_string; + class _Allocator = allocator<_CharT> > class _LIBCPP_VISIBLE basic_string; typedef basic_string<char, char_traits<char>, allocator<char> > string; typedef basic_string<wchar_t, char_traits<wchar_t>, allocator<wchar_t> > wstring; diff --git a/libcxx/include/memory b/libcxx/include/memory index 5b2b41dcfe5..b4875ce7827 100644 --- a/libcxx/include/memory +++ b/libcxx/include/memory @@ -1471,7 +1471,7 @@ struct __uses_alloc_ctor // allocator template <class _Tp> -class allocator +class _LIBCPP_VISIBLE allocator { public: typedef size_t size_type; diff --git a/libcxx/include/string b/libcxx/include/string index fc15bc8a5d7..4e6d7cd5c78 100644 --- a/libcxx/include/string +++ b/libcxx/include/string @@ -479,7 +479,7 @@ bool operator!=(const fpos<_StateT>& __x, const fpos<_StateT>& __y) // char_traits template <class _CharT> -struct char_traits +struct _LIBCPP_VISIBLE char_traits { typedef _CharT char_type; typedef int int_type; @@ -591,7 +591,7 @@ char_traits<_CharT>::assign(char_type* __s, size_t __n, char_type __a) // char_traits<char> template <> -struct char_traits<char> +struct _LIBCPP_VISIBLE char_traits<char> { typedef char char_type; typedef int int_type; @@ -933,7 +933,7 @@ __basic_string_common<__b>::__throw_out_of_range() const extern template class __basic_string_common<true>; template<class _CharT, class _Traits, class _Allocator> -class basic_string +class _LIBCPP_VISIBLE basic_string : private __basic_string_common<true> { public: diff --git a/libcxx/include/vector b/libcxx/include/vector index 7441cd01af0..f985a0e25d4 100644 --- a/libcxx/include/vector +++ b/libcxx/include/vector @@ -419,7 +419,7 @@ __vector_base<_Tp, _Allocator>::~__vector_base() } template <class _Tp, class _Allocator = allocator<_Tp> > -class vector +class _LIBCPP_VISIBLE vector : private __vector_base<_Tp, _Allocator> { private: @@ -1682,7 +1682,7 @@ template <class _Allocator> class vector<bool, _Allocator>; template <class _Allocator> struct hash<vector<bool, _Allocator> >; template <class _Allocator> -class vector<bool, _Allocator> +class _LIBCPP_VISIBLE vector<bool, _Allocator> : private __vector_base_common<true> { public: |

