Changes between Initial Version and Version 1 of Ticket #3109, comment 4


Ignore:
Timestamp:
Jun 3, 2015, 8:11:33 AM (9 years ago)
Author:
historic_bruno

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #3109, comment 4

    initial v1  
    55Since it doesn't happen with any other compiler/C++ library, I looked for something that changed in libc++. I think I've found it with [https://llvm.org/bugs/show_bug.cgi?id=9335 this LLVM bug report] and associated C++ standard [http://lwg.github.io/issues/lwg-closed.html#2036 discussion]. libc++ was setting the `eofbit` too early and violating the standard, and it was [https://github.com/llvm-mirror/libcxx/commit/df85e57f4a33ccaa56e044bac98e2752ace52303 fixed] in newer versions (but after 10.7).
    66
    7 I think a minimal workaround would be to not only test for eof, but also compare the result of [http://en.cppreference.com/w/cpp/io/basic_istream/gcount gcount()] with the expected length; if they are equal, it's probably OK (combined with #3108, this fixes multiplayer on 10.7)
     7I think a minimal workaround would be to not only test for eof, but also compare the result of [http://en.cppreference.com/w/cpp/io/basic_istream/gcount gcount()] with the expected read length; if they are equal, it's probably OK (combined with #3108, this fixes multiplayer on 10.7)