Apply upstream libc++ fix to allow building with devel/xxx-xtoolchain-gcc
Merge commit 52e9d80d5db2 from llvm git (by Jason Liu): [libc++] add `inline` for __open's definition in ifstream and ofstream Summary: When building with gcc on AIX, it seems that gcc does not like the `always_inline` without the `inline` keyword. So adding the inline keywords in for __open in ifstream and ofstream. That will also make it consistent with __open in basic_filebuf (it seems we added `inline` there before for gcc build as well). Differential Revision: https://reviews.llvm.org/D99422 PR: 255570 MFC after: 6 weeks
This commit is contained in:
parent
dd3fd6b85b
commit
d099db2546
@ -244,7 +244,7 @@ public:
|
|||||||
return open(__p.c_str(), __mode);
|
return open(__p.c_str(), __mode);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
inline _LIBCPP_INLINE_VISIBILITY
|
_LIBCPP_INLINE_VISIBILITY
|
||||||
basic_filebuf* __open(int __fd, ios_base::openmode __mode);
|
basic_filebuf* __open(int __fd, ios_base::openmode __mode);
|
||||||
#endif
|
#endif
|
||||||
basic_filebuf* close();
|
basic_filebuf* close();
|
||||||
@ -574,7 +574,7 @@ basic_filebuf<_CharT, _Traits>::open(const char* __s, ios_base::openmode __mode)
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <class _CharT, class _Traits>
|
template <class _CharT, class _Traits>
|
||||||
inline _LIBCPP_INLINE_VISIBILITY
|
inline
|
||||||
basic_filebuf<_CharT, _Traits>*
|
basic_filebuf<_CharT, _Traits>*
|
||||||
basic_filebuf<_CharT, _Traits>::__open(int __fd, ios_base::openmode __mode) {
|
basic_filebuf<_CharT, _Traits>::__open(int __fd, ios_base::openmode __mode) {
|
||||||
basic_filebuf<_CharT, _Traits>* __rt = nullptr;
|
basic_filebuf<_CharT, _Traits>* __rt = nullptr;
|
||||||
@ -1326,6 +1326,7 @@ basic_ifstream<_CharT, _Traits>::open(const string& __s, ios_base::openmode __mo
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <class _CharT, class _Traits>
|
template <class _CharT, class _Traits>
|
||||||
|
inline
|
||||||
void basic_ifstream<_CharT, _Traits>::__open(int __fd,
|
void basic_ifstream<_CharT, _Traits>::__open(int __fd,
|
||||||
ios_base::openmode __mode) {
|
ios_base::openmode __mode) {
|
||||||
if (__sb_.__open(__fd, __mode | ios_base::in))
|
if (__sb_.__open(__fd, __mode | ios_base::in))
|
||||||
@ -1539,6 +1540,7 @@ basic_ofstream<_CharT, _Traits>::open(const string& __s, ios_base::openmode __mo
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <class _CharT, class _Traits>
|
template <class _CharT, class _Traits>
|
||||||
|
inline
|
||||||
void basic_ofstream<_CharT, _Traits>::__open(int __fd,
|
void basic_ofstream<_CharT, _Traits>::__open(int __fd,
|
||||||
ios_base::openmode __mode) {
|
ios_base::openmode __mode) {
|
||||||
if (__sb_.__open(__fd, __mode | ios_base::out))
|
if (__sb_.__open(__fd, __mode | ios_base::out))
|
||||||
|
Loading…
Reference in New Issue
Block a user