summaryrefslogtreecommitdiffstats
path: root/contrib/libc++/include/istream
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/libc++/include/istream')
-rw-r--r--contrib/libc++/include/istream10
1 files changed, 7 insertions, 3 deletions
diff --git a/contrib/libc++/include/istream b/contrib/libc++/include/istream
index 72b2004..dc1c52b 100644
--- a/contrib/libc++/include/istream
+++ b/contrib/libc++/include/istream
@@ -1189,7 +1189,11 @@ basic_istream<_CharT, _Traits>::peek()
#endif // _LIBCPP_NO_EXCEPTIONS
sentry __sen(*this, true);
if (__sen)
+ {
__r = this->rdbuf()->sgetc();
+ if (traits_type::eq_int_type(__r, traits_type::eof()))
+ this->setstate(ios_base::eofbit);
+ }
#ifndef _LIBCPP_NO_EXCEPTIONS
}
catch (...)
@@ -1706,9 +1710,9 @@ operator>>(basic_istream<_CharT, _Traits>& __is, bitset<_Size>& __x)
return __is;
}
-extern template class basic_istream<char>;
-extern template class basic_istream<wchar_t>;
-extern template class basic_iostream<char>;
+_LIBCPP_EXTERN_TEMPLATE(class basic_istream<char>)
+_LIBCPP_EXTERN_TEMPLATE(class basic_istream<wchar_t>)
+_LIBCPP_EXTERN_TEMPLATE(class basic_iostream<char>)
_LIBCPP_END_NAMESPACE_STD
OpenPOWER on IntegriCloud