Revert: Revert r227804: Use fseek/ftell instead of fseeko/ftello when Newlib is the libc
EricWF has updated the compilers on his buildbots. Hopefully they won't crash now. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@227971 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
57947ca867
commit
c6893aecfd
@ -807,7 +807,7 @@ basic_filebuf<_CharT, _Traits>::seekoff(off_type __off, ios_base::seekdir __way,
|
|||||||
default:
|
default:
|
||||||
return pos_type(off_type(-1));
|
return pos_type(off_type(-1));
|
||||||
}
|
}
|
||||||
#if _WIN32
|
#if defined(_WIN32) || defined(_NEWLIB_VERSION)
|
||||||
if (fseek(__file_, __width > 0 ? __width * __off : 0, __whence))
|
if (fseek(__file_, __width > 0 ? __width * __off : 0, __whence))
|
||||||
return pos_type(off_type(-1));
|
return pos_type(off_type(-1));
|
||||||
pos_type __r = ftell(__file_);
|
pos_type __r = ftell(__file_);
|
||||||
@ -826,7 +826,7 @@ basic_filebuf<_CharT, _Traits>::seekpos(pos_type __sp, ios_base::openmode)
|
|||||||
{
|
{
|
||||||
if (__file_ == 0 || sync())
|
if (__file_ == 0 || sync())
|
||||||
return pos_type(off_type(-1));
|
return pos_type(off_type(-1));
|
||||||
#if _WIN32
|
#if defined(_WIN32) || defined(_NEWLIB_VERSION)
|
||||||
if (fseek(__file_, __sp, SEEK_SET))
|
if (fseek(__file_, __sp, SEEK_SET))
|
||||||
return pos_type(off_type(-1));
|
return pos_type(off_type(-1));
|
||||||
#else
|
#else
|
||||||
@ -891,7 +891,7 @@ basic_filebuf<_CharT, _Traits>::sync()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#if _WIN32
|
#if defined(_WIN32) || defined(_NEWLIB_VERSION)
|
||||||
if (fseek(__file_, -__c, SEEK_CUR))
|
if (fseek(__file_, -__c, SEEK_CUR))
|
||||||
return -1;
|
return -1;
|
||||||
#else
|
#else
|
||||||
|
@ -180,7 +180,12 @@ typedef fpos<mbstate_t> u16streampos;
|
|||||||
typedef fpos<mbstate_t> u32streampos;
|
typedef fpos<mbstate_t> u32streampos;
|
||||||
#endif // _LIBCPP_HAS_NO_UNICODE_CHARS
|
#endif // _LIBCPP_HAS_NO_UNICODE_CHARS
|
||||||
|
|
||||||
|
#if defined(_NEWLIB_VERSION)
|
||||||
|
// On newlib, off_t is 'long int'
|
||||||
|
typedef long int streamoff; // for char_traits in <string>
|
||||||
|
#else
|
||||||
typedef long long streamoff; // for char_traits in <string>
|
typedef long long streamoff; // for char_traits in <string>
|
||||||
|
#endif
|
||||||
|
|
||||||
template <class _CharT, // for <stdexcept>
|
template <class _CharT, // for <stdexcept>
|
||||||
class _Traits = char_traits<_CharT>,
|
class _Traits = char_traits<_CharT>,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user