From 73aa38dfb38f560e614664f64a650cf3a084b527 Mon Sep 17 00:00:00 2001 From: Shoaib Meenai Date: Mon, 31 Oct 2016 15:09:10 +0000 Subject: [PATCH] [libc++] Add configuration define for off_t functions Create this define in __config and use it elsewhere, instead of checking the operating system/library defines in other files. The aim is to reduce the usage of _WIN32 outside __config. No functional change. Differential Revision: https://reviews.llvm.org/D25741 llvm-svn: 285582 --- libcxx/include/__config | 6 ++++++ libcxx/include/fstream | 6 +++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/libcxx/include/__config b/libcxx/include/__config index 572b015..cd8c2aa 100644 --- a/libcxx/include/__config +++ b/libcxx/include/__config @@ -904,6 +904,12 @@ extern "C" void __sanitizer_annotate_contiguous_container( #define _LIBCPP_HAS_NO_BUILTIN_ADDRESSOF #endif +#if !defined(_LIBCPP_HAS_NO_OFF_T_FUNCTIONS) +#if defined(_WIN32) || defined(_NEWLIB_VERSION) +#define _LIBCPP_HAS_NO_OFF_T_FUNCTIONS +#endif +#endif + #endif // __cplusplus #endif // _LIBCPP_CONFIG diff --git a/libcxx/include/fstream b/libcxx/include/fstream index ce13b31..b8d18aa 100644 --- a/libcxx/include/fstream +++ b/libcxx/include/fstream @@ -813,7 +813,7 @@ basic_filebuf<_CharT, _Traits>::seekoff(off_type __off, ios_base::seekdir __way, default: return pos_type(off_type(-1)); } -#if defined(_WIN32) || defined(_NEWLIB_VERSION) +#if defined(_LIBCPP_HAS_NO_OFF_T_FUNCTIONS) if (fseek(__file_, __width > 0 ? __width * __off : 0, __whence)) return pos_type(off_type(-1)); pos_type __r = ftell(__file_); @@ -832,7 +832,7 @@ basic_filebuf<_CharT, _Traits>::seekpos(pos_type __sp, ios_base::openmode) { if (__file_ == 0 || sync()) return pos_type(off_type(-1)); -#if defined(_WIN32) || defined(_NEWLIB_VERSION) +#if defined(_LIBCPP_HAS_NO_OFF_T_FUNCTIONS) if (fseek(__file_, __sp, SEEK_SET)) return pos_type(off_type(-1)); #else @@ -896,7 +896,7 @@ basic_filebuf<_CharT, _Traits>::sync() } } } -#if defined(_WIN32) || defined(_NEWLIB_VERSION) +#if defined(_LIBCPP_HAS_NO_OFF_T_FUNCTIONS) if (fseek(__file_, -__c, SEEK_CUR)) return -1; #else -- 2.7.4