[cfe-commits] [libcxx] r114545 - in /libcxx/trunk/include: initializer_list iomanip ios istream

Howard Hinnant hhinnant at apple.com
Wed Sep 22 08:29:08 PDT 2010


Author: hhinnant
Date: Wed Sep 22 10:29:08 2010
New Revision: 114545

URL: http://llvm.org/viewvc/llvm-project?rev=114545&view=rev
Log:
visibility-decoration.

Modified:
    libcxx/trunk/include/initializer_list
    libcxx/trunk/include/iomanip
    libcxx/trunk/include/ios
    libcxx/trunk/include/istream

Modified: libcxx/trunk/include/initializer_list
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/initializer_list?rev=114545&r1=114544&r2=114545&view=diff
==============================================================================
--- libcxx/trunk/include/initializer_list (original)
+++ libcxx/trunk/include/initializer_list Wed Sep 22 10:29:08 2010
@@ -52,7 +52,7 @@
 {
 
 template<class _E>
-class initializer_list
+class _LIBCPP_VISIBLE initializer_list
 {
     const _E* __begin_;
     size_t    __size_;

Modified: libcxx/trunk/include/iomanip
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/iomanip?rev=114545&r1=114544&r2=114545&view=diff
==============================================================================
--- libcxx/trunk/include/iomanip (original)
+++ libcxx/trunk/include/iomanip Wed Sep 22 10:29:08 2010
@@ -43,10 +43,12 @@
 {
     ios_base::fmtflags __mask_;
 public:
+    _LIBCPP_INLINE_VISIBILITY
     explicit __iom_t1(ios_base::fmtflags __m) : __mask_(__m) {}
 
     template <class _CharT, class _Traits>
     friend
+    _LIBCPP_INLINE_VISIBILITY
     basic_istream<_CharT, _Traits>&
     operator>>(basic_istream<_CharT, _Traits>& __is, const __iom_t1& __x)
     {
@@ -56,6 +58,7 @@
 
     template <class _CharT, class _Traits>
     friend
+    _LIBCPP_INLINE_VISIBILITY
     basic_ostream<_CharT, _Traits>&
     operator<<(basic_ostream<_CharT, _Traits>& __os, const __iom_t1& __x)
     {
@@ -77,10 +80,12 @@
 {
     ios_base::fmtflags __mask_;
 public:
+    _LIBCPP_INLINE_VISIBILITY
     explicit __iom_t2(ios_base::fmtflags __m) : __mask_(__m) {}
 
     template <class _CharT, class _Traits>
     friend
+    _LIBCPP_INLINE_VISIBILITY
     basic_istream<_CharT, _Traits>&
     operator>>(basic_istream<_CharT, _Traits>& __is, const __iom_t2& __x)
     {
@@ -90,6 +95,7 @@
 
     template <class _CharT, class _Traits>
     friend
+    _LIBCPP_INLINE_VISIBILITY
     basic_ostream<_CharT, _Traits>&
     operator<<(basic_ostream<_CharT, _Traits>& __os, const __iom_t2& __x)
     {
@@ -111,10 +117,12 @@
 {
     int __base_;
 public:
+    _LIBCPP_INLINE_VISIBILITY
     explicit __iom_t3(int __b) : __base_(__b) {}
 
     template <class _CharT, class _Traits>
     friend
+    _LIBCPP_INLINE_VISIBILITY
     basic_istream<_CharT, _Traits>&
     operator>>(basic_istream<_CharT, _Traits>& __is, const __iom_t3& __x)
     {
@@ -127,6 +135,7 @@
 
     template <class _CharT, class _Traits>
     friend
+    _LIBCPP_INLINE_VISIBILITY
     basic_ostream<_CharT, _Traits>&
     operator<<(basic_ostream<_CharT, _Traits>& __os, const __iom_t3& __x)
     {
@@ -152,10 +161,12 @@
 {
     _CharT __fill_;
 public:
+    _LIBCPP_INLINE_VISIBILITY
     explicit __iom_t4(_CharT __c) : __fill_(__c) {}
 
     template <class _Traits>
     friend
+    _LIBCPP_INLINE_VISIBILITY
     basic_ostream<_CharT, _Traits>&
     operator<<(basic_ostream<_CharT, _Traits>& __os, const __iom_t4& __x)
     {
@@ -178,10 +189,12 @@
 {
     int __n_;
 public:
+    _LIBCPP_INLINE_VISIBILITY
     explicit __iom_t5(int __n) : __n_(__n) {}
 
     template <class _CharT, class _Traits>
     friend
+    _LIBCPP_INLINE_VISIBILITY
     basic_istream<_CharT, _Traits>&
     operator>>(basic_istream<_CharT, _Traits>& __is, const __iom_t5& __x)
     {
@@ -191,6 +204,7 @@
 
     template <class _CharT, class _Traits>
     friend
+    _LIBCPP_INLINE_VISIBILITY
     basic_ostream<_CharT, _Traits>&
     operator<<(basic_ostream<_CharT, _Traits>& __os, const __iom_t5& __x)
     {
@@ -212,10 +226,12 @@
 {
     int __n_;
 public:
+    _LIBCPP_INLINE_VISIBILITY
     explicit __iom_t6(int __n) : __n_(__n) {}
 
     template <class _CharT, class _Traits>
     friend
+    _LIBCPP_INLINE_VISIBILITY
     basic_istream<_CharT, _Traits>&
     operator>>(basic_istream<_CharT, _Traits>& __is, const __iom_t6& __x)
     {
@@ -225,6 +241,7 @@
 
     template <class _CharT, class _Traits>
     friend
+    _LIBCPP_INLINE_VISIBILITY
     basic_ostream<_CharT, _Traits>&
     operator<<(basic_ostream<_CharT, _Traits>& __os, const __iom_t6& __x)
     {
@@ -254,6 +271,7 @@
     _MoneyT& __mon_;
     bool __intl_;
 public:
+    _LIBCPP_INLINE_VISIBILITY
     __iom_t7(_MoneyT& __mon, bool __intl)
         : __mon_(__mon), __intl_(__intl) {}
 
@@ -313,6 +331,7 @@
     const _MoneyT& __mon_;
     bool __intl_;
 public:
+    _LIBCPP_INLINE_VISIBILITY
     __iom_t8(const _MoneyT& __mon, bool __intl)
         : __mon_(__mon), __intl_(__intl) {}
 
@@ -371,6 +390,7 @@
     tm* __tm_;
     const _CharT* __fmt_;
 public:
+    _LIBCPP_INLINE_VISIBILITY
     __iom_t9(tm* __tm, const _CharT* __fmt)
         : __tm_(__tm), __fmt_(__fmt) {}
 
@@ -431,6 +451,7 @@
     const tm* __tm_;
     const _CharT* __fmt_;
 public:
+    _LIBCPP_INLINE_VISIBILITY
     __iom_t10(const tm* __tm, const _CharT* __fmt)
         : __tm_(__tm), __fmt_(__fmt) {}
 

Modified: libcxx/trunk/include/ios
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/ios?rev=114545&r1=114544&r2=114545&view=diff
==============================================================================
--- libcxx/trunk/include/ios (original)
+++ libcxx/trunk/include/ios Wed Sep 22 10:29:08 2010
@@ -222,7 +222,7 @@
 
 typedef ptrdiff_t streamsize;
 
-class ios_base
+class _LIBCPP_VISIBLE ios_base
 {
 public:
     class failure;
@@ -323,6 +323,7 @@
     void __set_failbit_and_consider_rethrow();
 
 protected:
+    _LIBCPP_INLINE_VISIBILITY
     ios_base() {// purposefully does no initialization
                }
 
@@ -370,7 +371,7 @@
 };
 
 //enum class io_errc
-struct io_errc
+struct _LIBCPP_VISIBLE io_errc
 {
 enum _ {
     stream = 1
@@ -381,9 +382,12 @@
     _LIBCPP_ALWAYS_INLINE operator int() const {return __v_;}
 };
 
-template <> struct is_error_code_enum<io_errc> : public true_type { };
-template <> struct is_error_code_enum<io_errc::_> : public true_type { };
+template <>
+struct _LIBCPP_VISIBLE is_error_code_enum<io_errc> : public true_type { };
+template <>
+struct _LIBCPP_VISIBLE is_error_code_enum<io_errc::_> : public true_type { };
 
+_LIBCPP_VISIBLE
 const error_category& iostream_category();
 
 inline _LIBCPP_INLINE_VISIBILITY
@@ -400,7 +404,7 @@
     return error_condition(static_cast<int>(__e), iostream_category());
 }
 
-class ios_base::failure
+class _LIBCPP_EXCEPTION_ABI ios_base::failure
     : public system_error
 {
 public:
@@ -409,7 +413,7 @@
     virtual ~failure() throw();
 };
 
-class ios_base::Init
+class _LIBCPP_VISIBLE ios_base::Init
 {
 public:
     Init();
@@ -556,7 +560,7 @@
 }
 
 template <class _CharT, class _Traits>
-class basic_ios
+class _LIBCPP_VISIBLE basic_ios
     : public ios_base
 {
 public:
@@ -604,12 +608,14 @@
     char_type widen(char __c) const;
 
 protected:
+    _LIBCPP_ALWAYS_INLINE
     basic_ios() {// purposefully does no initialization
                 }
     void init(basic_streambuf<char_type, traits_type>* __sb);
 
     void move(basic_ios& __rhs);
 #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
+    _LIBCPP_ALWAYS_INLINE
     void move(basic_ios&& __rhs) {move(__rhs);}
 #endif
     void swap(basic_ios& __rhs);

Modified: libcxx/trunk/include/istream
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/istream?rev=114545&r1=114544&r2=114545&view=diff
==============================================================================
--- libcxx/trunk/include/istream (original)
+++ libcxx/trunk/include/istream Wed Sep 22 10:29:08 2010
@@ -160,7 +160,7 @@
 _LIBCPP_BEGIN_NAMESPACE_STD
 
 template <class _CharT, class _Traits>
-class basic_istream
+class _LIBCPP_VISIBLE basic_istream
     : virtual public basic_ios<_CharT, _Traits>
 {
     streamsize __gc_;
@@ -211,6 +211,7 @@
     basic_istream& operator>>(void*& __p);
 
     // 27.7.1.3 Unformatted input:
+    _LIBCPP_INLINE_VISIBILITY
     streamsize gcount() const {return __gc_;}
     int_type get();
     basic_istream& get(char_type& __c);
@@ -237,7 +238,7 @@
 };
 
 template <class _CharT, class _Traits>
-class basic_istream<_CharT, _Traits>::sentry
+class _LIBCPP_VISIBLE basic_istream<_CharT, _Traits>::sentry
 {
     bool __ok_;
 
@@ -248,6 +249,7 @@
     explicit sentry(basic_istream<_CharT, _Traits>& __is, bool __noskipws = false);
 //    ~sentry() = default;
 
+    _LIBCPP_INLINE_VISIBILITY
     // explicit
         operator bool() const {return __ok_;}
 };
@@ -1477,7 +1479,7 @@
 #endif  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
 
 template <class _CharT, class _Traits>
-class basic_iostream
+class _LIBCPP_VISIBLE basic_iostream
     : public basic_istream<_CharT, _Traits>,
       public basic_ostream<_CharT, _Traits>
 {
@@ -1647,7 +1649,7 @@
 }
 
 template<class _CharT, class _Traits, class _Allocator>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 basic_istream<_CharT, _Traits>&
 getline(basic_istream<_CharT, _Traits>& __is,
         basic_string<_CharT, _Traits, _Allocator>& __str)
@@ -1658,7 +1660,7 @@
 #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
 
 template<class _CharT, class _Traits, class _Allocator>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 basic_istream<_CharT, _Traits>&
 getline(basic_istream<_CharT, _Traits>&& __is,
         basic_string<_CharT, _Traits, _Allocator>& __str, _CharT __dlm)
@@ -1667,7 +1669,7 @@
 }
 
 template<class _CharT, class _Traits, class _Allocator>
-inline
+inline _LIBCPP_INLINE_VISIBILITY
 basic_istream<_CharT, _Traits>&
 getline(basic_istream<_CharT, _Traits>&& __is,
         basic_string<_CharT, _Traits, _Allocator>& __str)





More information about the cfe-commits mailing list