[libcxx] r255177 - Remove visibility attributes from out-of-class method definitions in iostreams.

Evgenii Stepanov via cfe-commits cfe-commits at lists.llvm.org
Fri Jan 8 11:24:52 PST 2016


Reverted in r257193.

On Fri, Jan 8, 2016 at 11:12 AM, Evgenii Stepanov
<eugeni.stepanov at gmail.com> wrote:
> On Fri, Jan 8, 2016 at 11:02 AM, Duncan P. N. Exon Smith
> <dexonsmith at apple.com> wrote:
>>
>>> On 2016-Jan-08, at 10:49, Nico Weber via cfe-commits <cfe-commits at lists.llvm.org> wrote:
>>>
>>> On OS X 10.8, __ZNSt3__115basic_streambufIcNS_11char_traitsIcEEE5sputcEc (and others) are a hidden symbol in libc++.1.dylib. This means:
>>>
>>> * If I use streambuf::sputc() and link against the 10.8 SDK, and the compiler decides to not inline the call, I will get linker errors.
>>> * If I do the same with the 10.10 SDK when targeting 10.8, then (even worse) the link will silently succeed (since it links against the 10.10 libc++ which does have a public symbol for this -- the SDK assumes that libc++ is abi-compatible with itself) but it will then fail to run on a 10.8 system.
>>>
>>> I don't see a way to save this change -- I think this needs to be reverted.
>>
>> FWIW, we're working on a plan to add availability markup to libc++
>> (it shouldn't be too intrusive (since you can annotate blocks of
>> API); had some initial talks with Marshall at the dev meeting).  I
>> plan to send out an RFC soon.
>>
>> I didn't think there'd be interest in having the availability
>> attributes themselves in open source (just some placeholder macros),
>> but it would be an option.
>>
>> Anyway, until that's done, I agree this needs to be reverted.
>>
>>> Have you made similar changes elsewhere? These probably need to be reverted too.
>>
>> I agree.
>
> This is the only one of my changes that removes attributes. I'll revert.
>
>>> On Wed, Dec 9, 2015 at 6:42 PM, Evgeniy Stepanov via cfe-commits <cfe-commits at lists.llvm.org> wrote:
>>> Author: eugenis
>>> Date: Wed Dec  9 17:42:30 2015
>>> New Revision: 255177
>>>
>>> URL: http://llvm.org/viewvc/llvm-project?rev=255177&view=rev
>>> Log:
>>> Remove visibility attributes from out-of-class method definitions in iostreams.
>>>
>>> No point in pretending that these methods are hidden - they are
>>> actually exported from libc++.so. Extern template declarations make
>>> them part of libc++ ABI.
>>>
>>> This patch does not change libc++.so export list (at least on Linux).
>>>
>>> Modified:
>>>     libcxx/trunk/include/istream
>>>     libcxx/trunk/include/ostream
>>>     libcxx/trunk/include/sstream
>>>     libcxx/trunk/include/streambuf
>>>
>>> Modified: libcxx/trunk/include/istream
>>> URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/istream?rev=255177&r1=255176&r2=255177&view=diff
>>> ==============================================================================
>>> --- libcxx/trunk/include/istream (original)
>>> +++ libcxx/trunk/include/istream Wed Dec  9 17:42:30 2015
>>> @@ -304,7 +304,7 @@ basic_istream<_CharT, _Traits>::sentry::
>>>  }
>>>
>>>  template <class _CharT, class _Traits>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  basic_istream<_CharT, _Traits>::basic_istream(basic_streambuf<char_type, traits_type>* __sb)
>>>      : __gc_(0)
>>>  {
>>> @@ -314,7 +314,7 @@ basic_istream<_CharT, _Traits>::basic_is
>>>  #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
>>>
>>>  template <class _CharT, class _Traits>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  basic_istream<_CharT, _Traits>::basic_istream(basic_istream&& __rhs)
>>>      : __gc_(__rhs.__gc_)
>>>  {
>>> @@ -323,7 +323,7 @@ basic_istream<_CharT, _Traits>::basic_is
>>>  }
>>>
>>>  template <class _CharT, class _Traits>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  basic_istream<_CharT, _Traits>&
>>>  basic_istream<_CharT, _Traits>::operator=(basic_istream&& __rhs)
>>>  {
>>> @@ -339,7 +339,7 @@ basic_istream<_CharT, _Traits>::~basic_i
>>>  }
>>>
>>>  template <class _CharT, class _Traits>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  void
>>>  basic_istream<_CharT, _Traits>::swap(basic_istream& __rhs)
>>>  {
>>> @@ -725,7 +725,7 @@ basic_istream<_CharT, _Traits>::operator
>>>  }
>>>
>>>  template <class _CharT, class _Traits>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  basic_istream<_CharT, _Traits>&
>>>  basic_istream<_CharT, _Traits>::operator>>(basic_istream& (*__pf)(basic_istream&))
>>>  {
>>> @@ -733,7 +733,7 @@ basic_istream<_CharT, _Traits>::operator
>>>  }
>>>
>>>  template <class _CharT, class _Traits>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  basic_istream<_CharT, _Traits>&
>>>  basic_istream<_CharT, _Traits>::operator>>(basic_ios<char_type, traits_type>&
>>>                                             (*__pf)(basic_ios<char_type, traits_type>&))
>>> @@ -743,7 +743,7 @@ basic_istream<_CharT, _Traits>::operator
>>>  }
>>>
>>>  template <class _CharT, class _Traits>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  basic_istream<_CharT, _Traits>&
>>>  basic_istream<_CharT, _Traits>::operator>>(ios_base& (*__pf)(ios_base&))
>>>  {
>>> @@ -800,7 +800,7 @@ operator>>(basic_istream<_CharT, _Traits
>>>  }
>>>
>>>  template<class _Traits>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  basic_istream<char, _Traits>&
>>>  operator>>(basic_istream<char, _Traits>& __is, unsigned char* __s)
>>>  {
>>> @@ -808,7 +808,7 @@ operator>>(basic_istream<char, _Traits>&
>>>  }
>>>
>>>  template<class _Traits>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  basic_istream<char, _Traits>&
>>>  operator>>(basic_istream<char, _Traits>& __is, signed char* __s)
>>>  {
>>> @@ -843,7 +843,7 @@ operator>>(basic_istream<_CharT, _Traits
>>>  }
>>>
>>>  template<class _Traits>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  basic_istream<char, _Traits>&
>>>  operator>>(basic_istream<char, _Traits>& __is, unsigned char& __c)
>>>  {
>>> @@ -851,7 +851,7 @@ operator>>(basic_istream<char, _Traits>&
>>>  }
>>>
>>>  template<class _Traits>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  basic_istream<char, _Traits>&
>>>  operator>>(basic_istream<char, _Traits>& __is, signed char& __c)
>>>  {
>>> @@ -947,7 +947,7 @@ basic_istream<_CharT, _Traits>::get()
>>>  }
>>>
>>>  template<class _CharT, class _Traits>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  basic_istream<_CharT, _Traits>&
>>>  basic_istream<_CharT, _Traits>::get(char_type& __c)
>>>  {
>>> @@ -1006,7 +1006,7 @@ basic_istream<_CharT, _Traits>::get(char
>>>  }
>>>
>>>  template<class _CharT, class _Traits>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  basic_istream<_CharT, _Traits>&
>>>  basic_istream<_CharT, _Traits>::get(char_type* __s, streamsize __n)
>>>  {
>>> @@ -1068,7 +1068,7 @@ basic_istream<_CharT, _Traits>::get(basi
>>>  }
>>>
>>>  template<class _CharT, class _Traits>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  basic_istream<_CharT, _Traits>&
>>>  basic_istream<_CharT, _Traits>::get(basic_streambuf<char_type, traits_type>& __sb)
>>>  {
>>> @@ -1129,7 +1129,7 @@ basic_istream<_CharT, _Traits>::getline(
>>>  }
>>>
>>>  template<class _CharT, class _Traits>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  basic_istream<_CharT, _Traits>&
>>>  basic_istream<_CharT, _Traits>::getline(char_type* __s, streamsize __n)
>>>  {
>>> @@ -1462,7 +1462,7 @@ ws(basic_istream<_CharT, _Traits>& __is)
>>>  #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
>>>
>>>  template <class _CharT, class _Traits, class _Tp>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  basic_istream<_CharT, _Traits>&
>>>  operator>>(basic_istream<_CharT, _Traits>&& __is, _Tp& __x)
>>>  {
>>> @@ -1504,7 +1504,7 @@ public:
>>>  };
>>>
>>>  template <class _CharT, class _Traits>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  basic_iostream<_CharT, _Traits>::basic_iostream(basic_streambuf<char_type, traits_type>* __sb)
>>>      : basic_istream<_CharT, _Traits>(__sb)
>>>  {
>>> @@ -1513,14 +1513,14 @@ basic_iostream<_CharT, _Traits>::basic_i
>>>  #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
>>>
>>>  template <class _CharT, class _Traits>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  basic_iostream<_CharT, _Traits>::basic_iostream(basic_iostream&& __rhs)
>>>      : basic_istream<_CharT, _Traits>(_VSTD::move(__rhs))
>>>  {
>>>  }
>>>
>>>  template <class _CharT, class _Traits>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  basic_iostream<_CharT, _Traits>&
>>>  basic_iostream<_CharT, _Traits>::operator=(basic_iostream&& __rhs)
>>>  {
>>> @@ -1536,7 +1536,7 @@ basic_iostream<_CharT, _Traits>::~basic_
>>>  }
>>>
>>>  template <class _CharT, class _Traits>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  void
>>>  basic_iostream<_CharT, _Traits>::swap(basic_iostream& __rhs)
>>>  {
>>> @@ -1645,7 +1645,7 @@ getline(basic_istream<_CharT, _Traits>&
>>>  }
>>>
>>>  template<class _CharT, class _Traits, class _Allocator>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  basic_istream<_CharT, _Traits>&
>>>  getline(basic_istream<_CharT, _Traits>& __is,
>>>          basic_string<_CharT, _Traits, _Allocator>& __str)
>>> @@ -1656,7 +1656,7 @@ getline(basic_istream<_CharT, _Traits>&
>>>  #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
>>>
>>>  template<class _CharT, class _Traits, class _Allocator>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  basic_istream<_CharT, _Traits>&
>>>  getline(basic_istream<_CharT, _Traits>&& __is,
>>>          basic_string<_CharT, _Traits, _Allocator>& __str, _CharT __dlm)
>>> @@ -1665,7 +1665,7 @@ getline(basic_istream<_CharT, _Traits>&&
>>>  }
>>>
>>>  template<class _CharT, class _Traits, class _Allocator>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  basic_istream<_CharT, _Traits>&
>>>  getline(basic_istream<_CharT, _Traits>&& __is,
>>>          basic_string<_CharT, _Traits, _Allocator>& __str)
>>>
>>> Modified: libcxx/trunk/include/ostream
>>> URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/ostream?rev=255177&r1=255176&r2=255177&view=diff
>>> ==============================================================================
>>> --- libcxx/trunk/include/ostream (original)
>>> +++ libcxx/trunk/include/ostream Wed Dec  9 17:42:30 2015
>>> @@ -275,7 +275,7 @@ basic_ostream<_CharT, _Traits>::sentry::
>>>  }
>>>
>>>  template <class _CharT, class _Traits>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  basic_ostream<_CharT, _Traits>::basic_ostream(basic_streambuf<char_type, traits_type>* __sb)
>>>  {
>>>      this->init(__sb);
>>> @@ -284,14 +284,14 @@ basic_ostream<_CharT, _Traits>::basic_os
>>>  #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
>>>
>>>  template <class _CharT, class _Traits>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  basic_ostream<_CharT, _Traits>::basic_ostream(basic_ostream&& __rhs)
>>>  {
>>>      this->move(__rhs);
>>>  }
>>>
>>>  template <class _CharT, class _Traits>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  basic_ostream<_CharT, _Traits>&
>>>  basic_ostream<_CharT, _Traits>::operator=(basic_ostream&& __rhs)
>>>  {
>>> @@ -307,7 +307,7 @@ basic_ostream<_CharT, _Traits>::~basic_o
>>>  }
>>>
>>>  template <class _CharT, class _Traits>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  void
>>>  basic_ostream<_CharT, _Traits>::swap(basic_ostream& __rhs)
>>>  {
>>> @@ -315,7 +315,7 @@ basic_ostream<_CharT, _Traits>::swap(bas
>>>  }
>>>
>>>  template <class _CharT, class _Traits>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  basic_ostream<_CharT, _Traits>&
>>>  basic_ostream<_CharT, _Traits>::operator<<(basic_ostream& (*__pf)(basic_ostream&))
>>>  {
>>> @@ -323,7 +323,7 @@ basic_ostream<_CharT, _Traits>::operator
>>>  }
>>>
>>>  template <class _CharT, class _Traits>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  basic_ostream<_CharT, _Traits>&
>>>  basic_ostream<_CharT, _Traits>::operator<<(basic_ios<char_type, traits_type>&
>>>                                             (*__pf)(basic_ios<char_type,traits_type>&))
>>> @@ -333,7 +333,7 @@ basic_ostream<_CharT, _Traits>::operator
>>>  }
>>>
>>>  template <class _CharT, class _Traits>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  basic_ostream<_CharT, _Traits>&
>>>  basic_ostream<_CharT, _Traits>::operator<<(ios_base& (*__pf)(ios_base&))
>>>  {
>>> @@ -989,7 +989,7 @@ basic_ostream<_CharT, _Traits>::flush()
>>>  }
>>>
>>>  template <class _CharT, class _Traits>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  typename basic_ostream<_CharT, _Traits>::pos_type
>>>  basic_ostream<_CharT, _Traits>::tellp()
>>>  {
>>> @@ -999,7 +999,7 @@ basic_ostream<_CharT, _Traits>::tellp()
>>>  }
>>>
>>>  template <class _CharT, class _Traits>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  basic_ostream<_CharT, _Traits>&
>>>  basic_ostream<_CharT, _Traits>::seekp(pos_type __pos)
>>>  {
>>> @@ -1013,7 +1013,7 @@ basic_ostream<_CharT, _Traits>::seekp(po
>>>  }
>>>
>>>  template <class _CharT, class _Traits>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  basic_ostream<_CharT, _Traits>&
>>>  basic_ostream<_CharT, _Traits>::seekp(off_type __off, ios_base::seekdir __dir)
>>>  {
>>> @@ -1027,7 +1027,7 @@ basic_ostream<_CharT, _Traits>::seekp(of
>>>  }
>>>
>>>  template <class _CharT, class _Traits>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  basic_ostream<_CharT, _Traits>&
>>>  endl(basic_ostream<_CharT, _Traits>& __os)
>>>  {
>>> @@ -1037,7 +1037,7 @@ endl(basic_ostream<_CharT, _Traits>& __o
>>>  }
>>>
>>>  template <class _CharT, class _Traits>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  basic_ostream<_CharT, _Traits>&
>>>  ends(basic_ostream<_CharT, _Traits>& __os)
>>>  {
>>> @@ -1046,7 +1046,7 @@ ends(basic_ostream<_CharT, _Traits>& __o
>>>  }
>>>
>>>  template <class _CharT, class _Traits>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  basic_ostream<_CharT, _Traits>&
>>>  flush(basic_ostream<_CharT, _Traits>& __os)
>>>  {
>>> @@ -1057,7 +1057,7 @@ flush(basic_ostream<_CharT, _Traits>& __
>>>  #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
>>>
>>>  template <class _Stream, class _Tp>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  typename enable_if
>>>  <
>>>      !is_lvalue_reference<_Stream>::value &&
>>> @@ -1081,7 +1081,7 @@ operator<<(basic_ostream<_CharT, _Traits
>>>  }
>>>
>>>  template <class _CharT, class _Traits>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  basic_ostream<_CharT, _Traits>&
>>>  operator<<(basic_ostream<_CharT, _Traits>& __os, const error_code& __ec)
>>>  {
>>> @@ -1089,7 +1089,7 @@ operator<<(basic_ostream<_CharT, _Traits
>>>  }
>>>
>>>  template<class _CharT, class _Traits, class _Yp>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  basic_ostream<_CharT, _Traits>&
>>>  operator<<(basic_ostream<_CharT, _Traits>& __os, shared_ptr<_Yp> const& __p)
>>>  {
>>>
>>> Modified: libcxx/trunk/include/sstream
>>> URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/sstream?rev=255177&r1=255176&r2=255177&view=diff
>>> ==============================================================================
>>> --- libcxx/trunk/include/sstream (original)
>>> +++ libcxx/trunk/include/sstream Wed Dec  9 17:42:30 2015
>>> @@ -236,7 +236,7 @@ protected:
>>>  };
>>>
>>>  template <class _CharT, class _Traits, class _Allocator>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  basic_stringbuf<_CharT, _Traits, _Allocator>::basic_stringbuf(ios_base::openmode __wch)
>>>      : __hm_(0),
>>>        __mode_(__wch)
>>> @@ -245,7 +245,7 @@ basic_stringbuf<_CharT, _Traits, _Alloca
>>>  }
>>>
>>>  template <class _CharT, class _Traits, class _Allocator>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  basic_stringbuf<_CharT, _Traits, _Allocator>::basic_stringbuf(const string_type& __s,
>>>                               ios_base::openmode __wch)
>>>      : __hm_(0),
>>> @@ -425,7 +425,7 @@ basic_stringbuf<_CharT, _Traits, _Alloca
>>>  }
>>>
>>>  template <class _CharT, class _Traits, class _Allocator>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  void
>>>  swap(basic_stringbuf<_CharT, _Traits, _Allocator>& __x,
>>>       basic_stringbuf<_CharT, _Traits, _Allocator>& __y)
>>> @@ -607,7 +607,7 @@ basic_stringbuf<_CharT, _Traits, _Alloca
>>>  }
>>>
>>>  template <class _CharT, class _Traits, class _Allocator>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  typename basic_stringbuf<_CharT, _Traits, _Allocator>::pos_type
>>>  basic_stringbuf<_CharT, _Traits, _Allocator>::seekpos(pos_type __sp,
>>>                                                        ios_base::openmode __wch)
>>> @@ -654,7 +654,7 @@ public:
>>>  };
>>>
>>>  template <class _CharT, class _Traits, class _Allocator>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  basic_istringstream<_CharT, _Traits, _Allocator>::basic_istringstream(ios_base::openmode __wch)
>>>      : basic_istream<_CharT, _Traits>(&__sb_),
>>>        __sb_(__wch | ios_base::in)
>>> @@ -662,7 +662,7 @@ basic_istringstream<_CharT, _Traits, _Al
>>>  }
>>>
>>>  template <class _CharT, class _Traits, class _Allocator>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  basic_istringstream<_CharT, _Traits, _Allocator>::basic_istringstream(const string_type& __s,
>>>                                                                        ios_base::openmode __wch)
>>>      : basic_istream<_CharT, _Traits>(&__sb_),
>>> @@ -673,7 +673,7 @@ basic_istringstream<_CharT, _Traits, _Al
>>>  #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
>>>
>>>  template <class _CharT, class _Traits, class _Allocator>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  basic_istringstream<_CharT, _Traits, _Allocator>::basic_istringstream(basic_istringstream&& __rhs)
>>>      : basic_istream<_CharT, _Traits>(_VSTD::move(__rhs)),
>>>        __sb_(_VSTD::move(__rhs.__sb_))
>>> @@ -693,7 +693,7 @@ basic_istringstream<_CharT, _Traits, _Al
>>>  #endif  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
>>>
>>>  template <class _CharT, class _Traits, class _Allocator>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  void
>>>  basic_istringstream<_CharT, _Traits, _Allocator>::swap(basic_istringstream& __rhs)
>>>  {
>>> @@ -702,7 +702,7 @@ basic_istringstream<_CharT, _Traits, _Al
>>>  }
>>>
>>>  template <class _CharT, class _Traits, class _Allocator>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  void
>>>  swap(basic_istringstream<_CharT, _Traits, _Allocator>& __x,
>>>       basic_istringstream<_CharT, _Traits, _Allocator>& __y)
>>> @@ -711,7 +711,7 @@ swap(basic_istringstream<_CharT, _Traits
>>>  }
>>>
>>>  template <class _CharT, class _Traits, class _Allocator>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  basic_stringbuf<_CharT, _Traits, _Allocator>*
>>>  basic_istringstream<_CharT, _Traits, _Allocator>::rdbuf() const
>>>  {
>>> @@ -719,7 +719,7 @@ basic_istringstream<_CharT, _Traits, _Al
>>>  }
>>>
>>>  template <class _CharT, class _Traits, class _Allocator>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  basic_string<_CharT, _Traits, _Allocator>
>>>  basic_istringstream<_CharT, _Traits, _Allocator>::str() const
>>>  {
>>> @@ -727,7 +727,7 @@ basic_istringstream<_CharT, _Traits, _Al
>>>  }
>>>
>>>  template <class _CharT, class _Traits, class _Allocator>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  void
>>>  basic_istringstream<_CharT, _Traits, _Allocator>::str(const string_type& __s)
>>>  {
>>> @@ -773,7 +773,7 @@ public:
>>>  };
>>>
>>>  template <class _CharT, class _Traits, class _Allocator>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  basic_ostringstream<_CharT, _Traits, _Allocator>::basic_ostringstream(ios_base::openmode __wch)
>>>      : basic_ostream<_CharT, _Traits>(&__sb_),
>>>        __sb_(__wch | ios_base::out)
>>> @@ -781,7 +781,7 @@ basic_ostringstream<_CharT, _Traits, _Al
>>>  }
>>>
>>>  template <class _CharT, class _Traits, class _Allocator>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  basic_ostringstream<_CharT, _Traits, _Allocator>::basic_ostringstream(const string_type& __s,
>>>                                                                        ios_base::openmode __wch)
>>>      : basic_ostream<_CharT, _Traits>(&__sb_),
>>> @@ -792,7 +792,7 @@ basic_ostringstream<_CharT, _Traits, _Al
>>>  #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
>>>
>>>  template <class _CharT, class _Traits, class _Allocator>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  basic_ostringstream<_CharT, _Traits, _Allocator>::basic_ostringstream(basic_ostringstream&& __rhs)
>>>      : basic_ostream<_CharT, _Traits>(_VSTD::move(__rhs)),
>>>        __sb_(_VSTD::move(__rhs.__sb_))
>>> @@ -812,7 +812,7 @@ basic_ostringstream<_CharT, _Traits, _Al
>>>  #endif  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
>>>
>>>  template <class _CharT, class _Traits, class _Allocator>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  void
>>>  basic_ostringstream<_CharT, _Traits, _Allocator>::swap(basic_ostringstream& __rhs)
>>>  {
>>> @@ -821,7 +821,7 @@ basic_ostringstream<_CharT, _Traits, _Al
>>>  }
>>>
>>>  template <class _CharT, class _Traits, class _Allocator>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  void
>>>  swap(basic_ostringstream<_CharT, _Traits, _Allocator>& __x,
>>>       basic_ostringstream<_CharT, _Traits, _Allocator>& __y)
>>> @@ -830,7 +830,7 @@ swap(basic_ostringstream<_CharT, _Traits
>>>  }
>>>
>>>  template <class _CharT, class _Traits, class _Allocator>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  basic_stringbuf<_CharT, _Traits, _Allocator>*
>>>  basic_ostringstream<_CharT, _Traits, _Allocator>::rdbuf() const
>>>  {
>>> @@ -838,7 +838,7 @@ basic_ostringstream<_CharT, _Traits, _Al
>>>  }
>>>
>>>  template <class _CharT, class _Traits, class _Allocator>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  basic_string<_CharT, _Traits, _Allocator>
>>>  basic_ostringstream<_CharT, _Traits, _Allocator>::str() const
>>>  {
>>> @@ -846,7 +846,7 @@ basic_ostringstream<_CharT, _Traits, _Al
>>>  }
>>>
>>>  template <class _CharT, class _Traits, class _Allocator>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  void
>>>  basic_ostringstream<_CharT, _Traits, _Allocator>::str(const string_type& __s)
>>>  {
>>> @@ -892,7 +892,7 @@ public:
>>>  };
>>>
>>>  template <class _CharT, class _Traits, class _Allocator>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  basic_stringstream<_CharT, _Traits, _Allocator>::basic_stringstream(ios_base::openmode __wch)
>>>      : basic_iostream<_CharT, _Traits>(&__sb_),
>>>        __sb_(__wch)
>>> @@ -900,7 +900,7 @@ basic_stringstream<_CharT, _Traits, _All
>>>  }
>>>
>>>  template <class _CharT, class _Traits, class _Allocator>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  basic_stringstream<_CharT, _Traits, _Allocator>::basic_stringstream(const string_type& __s,
>>>                                                                      ios_base::openmode __wch)
>>>      : basic_iostream<_CharT, _Traits>(&__sb_),
>>> @@ -911,7 +911,7 @@ basic_stringstream<_CharT, _Traits, _All
>>>  #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES
>>>
>>>  template <class _CharT, class _Traits, class _Allocator>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  basic_stringstream<_CharT, _Traits, _Allocator>::basic_stringstream(basic_stringstream&& __rhs)
>>>      : basic_iostream<_CharT, _Traits>(_VSTD::move(__rhs)),
>>>        __sb_(_VSTD::move(__rhs.__sb_))
>>> @@ -931,7 +931,7 @@ basic_stringstream<_CharT, _Traits, _All
>>>  #endif  // _LIBCPP_HAS_NO_RVALUE_REFERENCES
>>>
>>>  template <class _CharT, class _Traits, class _Allocator>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  void
>>>  basic_stringstream<_CharT, _Traits, _Allocator>::swap(basic_stringstream& __rhs)
>>>  {
>>> @@ -940,7 +940,7 @@ basic_stringstream<_CharT, _Traits, _All
>>>  }
>>>
>>>  template <class _CharT, class _Traits, class _Allocator>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  void
>>>  swap(basic_stringstream<_CharT, _Traits, _Allocator>& __x,
>>>       basic_stringstream<_CharT, _Traits, _Allocator>& __y)
>>> @@ -949,7 +949,7 @@ swap(basic_stringstream<_CharT, _Traits,
>>>  }
>>>
>>>  template <class _CharT, class _Traits, class _Allocator>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  basic_stringbuf<_CharT, _Traits, _Allocator>*
>>>  basic_stringstream<_CharT, _Traits, _Allocator>::rdbuf() const
>>>  {
>>> @@ -957,7 +957,7 @@ basic_stringstream<_CharT, _Traits, _All
>>>  }
>>>
>>>  template <class _CharT, class _Traits, class _Allocator>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  basic_string<_CharT, _Traits, _Allocator>
>>>  basic_stringstream<_CharT, _Traits, _Allocator>::str() const
>>>  {
>>> @@ -965,7 +965,7 @@ basic_stringstream<_CharT, _Traits, _All
>>>  }
>>>
>>>  template <class _CharT, class _Traits, class _Allocator>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  void
>>>  basic_stringstream<_CharT, _Traits, _Allocator>::str(const string_type& __s)
>>>  {
>>>
>>> Modified: libcxx/trunk/include/streambuf
>>> URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/streambuf?rev=255177&r1=255176&r2=255177&view=diff
>>> ==============================================================================
>>> --- libcxx/trunk/include/streambuf (original)
>>> +++ libcxx/trunk/include/streambuf Wed Dec  9 17:42:30 2015
>>> @@ -220,7 +220,7 @@ basic_streambuf<_CharT, _Traits>::~basic
>>>  }
>>>
>>>  template <class _CharT, class _Traits>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  locale
>>>  basic_streambuf<_CharT, _Traits>::pubimbue(const locale& __loc)
>>>  {
>>> @@ -231,7 +231,7 @@ basic_streambuf<_CharT, _Traits>::pubimb
>>>  }
>>>
>>>  template <class _CharT, class _Traits>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  locale
>>>  basic_streambuf<_CharT, _Traits>::getloc() const
>>>  {
>>> @@ -239,7 +239,7 @@ basic_streambuf<_CharT, _Traits>::getloc
>>>  }
>>>
>>>  template <class _CharT, class _Traits>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  basic_streambuf<_CharT, _Traits>*
>>>  basic_streambuf<_CharT, _Traits>::pubsetbuf(char_type* __s, streamsize __n)
>>>  {
>>> @@ -247,7 +247,7 @@ basic_streambuf<_CharT, _Traits>::pubset
>>>  }
>>>
>>>  template <class _CharT, class _Traits>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  typename basic_streambuf<_CharT, _Traits>::pos_type
>>>  basic_streambuf<_CharT, _Traits>::pubseekoff(off_type __off,
>>>                                               ios_base::seekdir __way,
>>> @@ -257,7 +257,7 @@ basic_streambuf<_CharT, _Traits>::pubsee
>>>  }
>>>
>>>  template <class _CharT, class _Traits>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  typename basic_streambuf<_CharT, _Traits>::pos_type
>>>  basic_streambuf<_CharT, _Traits>::pubseekpos(pos_type __sp,
>>>                                               ios_base::openmode __which)
>>> @@ -266,7 +266,7 @@ basic_streambuf<_CharT, _Traits>::pubsee
>>>  }
>>>
>>>  template <class _CharT, class _Traits>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  int
>>>  basic_streambuf<_CharT, _Traits>::pubsync()
>>>  {
>>> @@ -274,7 +274,7 @@ basic_streambuf<_CharT, _Traits>::pubsyn
>>>  }
>>>
>>>  template <class _CharT, class _Traits>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  streamsize
>>>  basic_streambuf<_CharT, _Traits>::in_avail()
>>>  {
>>> @@ -284,7 +284,7 @@ basic_streambuf<_CharT, _Traits>::in_ava
>>>  }
>>>
>>>  template <class _CharT, class _Traits>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  typename basic_streambuf<_CharT, _Traits>::int_type
>>>  basic_streambuf<_CharT, _Traits>::snextc()
>>>  {
>>> @@ -294,7 +294,7 @@ basic_streambuf<_CharT, _Traits>::snextc
>>>  }
>>>
>>>  template <class _CharT, class _Traits>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  typename basic_streambuf<_CharT, _Traits>::int_type
>>>  basic_streambuf<_CharT, _Traits>::sbumpc()
>>>  {
>>> @@ -304,7 +304,7 @@ basic_streambuf<_CharT, _Traits>::sbumpc
>>>  }
>>>
>>>  template <class _CharT, class _Traits>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  typename basic_streambuf<_CharT, _Traits>::int_type
>>>  basic_streambuf<_CharT, _Traits>::sgetc()
>>>  {
>>> @@ -314,7 +314,7 @@ basic_streambuf<_CharT, _Traits>::sgetc(
>>>  }
>>>
>>>  template <class _CharT, class _Traits>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  streamsize
>>>  basic_streambuf<_CharT, _Traits>::sgetn(char_type* __s, streamsize __n)
>>>  {
>>> @@ -322,7 +322,7 @@ basic_streambuf<_CharT, _Traits>::sgetn(
>>>  }
>>>
>>>  template <class _CharT, class _Traits>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  typename basic_streambuf<_CharT, _Traits>::int_type
>>>  basic_streambuf<_CharT, _Traits>::sputbackc(char_type __c)
>>>  {
>>> @@ -332,7 +332,7 @@ basic_streambuf<_CharT, _Traits>::sputba
>>>  }
>>>
>>>  template <class _CharT, class _Traits>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  typename basic_streambuf<_CharT, _Traits>::int_type
>>>  basic_streambuf<_CharT, _Traits>::sungetc()
>>>  {
>>> @@ -342,7 +342,7 @@ basic_streambuf<_CharT, _Traits>::sunget
>>>  }
>>>
>>>  template <class _CharT, class _Traits>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  typename basic_streambuf<_CharT, _Traits>::int_type
>>>  basic_streambuf<_CharT, _Traits>::sputc(char_type __c)
>>>  {
>>> @@ -353,7 +353,7 @@ basic_streambuf<_CharT, _Traits>::sputc(
>>>  }
>>>
>>>  template <class _CharT, class _Traits>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  streamsize
>>>  basic_streambuf<_CharT, _Traits>::sputn(const char_type* __s, streamsize __n)
>>>  {
>>> @@ -411,7 +411,7 @@ basic_streambuf<_CharT, _Traits>::swap(b
>>>  }
>>>
>>>  template <class _CharT, class _Traits>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  void
>>>  basic_streambuf<_CharT, _Traits>::gbump(int __n)
>>>  {
>>> @@ -419,7 +419,7 @@ basic_streambuf<_CharT, _Traits>::gbump(
>>>  }
>>>
>>>  template <class _CharT, class _Traits>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  void
>>>  basic_streambuf<_CharT, _Traits>::setg(char_type* __gbeg, char_type* __gnext,
>>>                                                            char_type* __gend)
>>> @@ -430,7 +430,7 @@ basic_streambuf<_CharT, _Traits>::setg(c
>>>  }
>>>
>>>  template <class _CharT, class _Traits>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  void
>>>  basic_streambuf<_CharT, _Traits>::pbump(int __n)
>>>  {
>>> @@ -438,7 +438,7 @@ basic_streambuf<_CharT, _Traits>::pbump(
>>>  }
>>>
>>>  template <class _CharT, class _Traits>
>>> -inline _LIBCPP_INLINE_VISIBILITY
>>> +inline
>>>  void
>>>  basic_streambuf<_CharT, _Traits>::setp(char_type* __pbeg, char_type* __pend)
>>>  {
>>>
>>>
>>> _______________________________________________
>>> cfe-commits mailing list
>>> cfe-commits at lists.llvm.org
>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
>>>
>>> _______________________________________________
>>> cfe-commits mailing list
>>> cfe-commits at lists.llvm.org
>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
>>


More information about the cfe-commits mailing list