Reimplemented much of <istream> such that single character extractions do not check to see if this is the last character in the stream and thus never set eofbit. This fixes http://llvm.org/bugs/show_bug.cgi?id=10817 . This fix requires a recompiled libc++.dylib to be fully implemented. The recompiled libc++.dylib is ABI compatible with that shipped on Lion.

git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@138961 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Howard Hinnant
2011-09-01 21:02:45 +00:00
parent 5f255944ac
commit 92a836c03d
6 changed files with 181 additions and 221 deletions

View File

@@ -50,7 +50,7 @@ int main()
assert(std::string(s, 5) == " 1234");
assert(is.gcount() == 5);
is.read(s, 5);
assert( is.eof());
assert(!is.eof());
assert(!is.fail());
assert(std::string(s, 5) == "56789");
assert(is.gcount() == 5);
@@ -69,7 +69,7 @@ int main()
assert(std::wstring(s, 5) == L" 1234");
assert(is.gcount() == 5);
is.read(s, 5);
assert( is.eof());
assert(!is.eof());
assert(!is.fail());
assert(std::wstring(s, 5) == L"56789");
assert(is.gcount() == 5);