Boost logo

Boost-Commit :

From: technews_at_[hidden]
Date: 2008-01-12 15:17:59


Author: turkanis
Date: 2008-01-12 15:17:58 EST (Sat, 12 Jan 2008)
New Revision: 42705
URL: http://svn.boost.org/trac/boost/changeset/42705

Log:
corrected use of feature detection macros for AIX; simplified implementation slightly; updated docs
Text files modified:
   branches/iostreams_dev/boost/iostreams/detail/config/rtl.hpp | 25 +++++++++++++------------
   1 files changed, 13 insertions(+), 12 deletions(-)

Modified: branches/iostreams_dev/boost/iostreams/detail/config/rtl.hpp
==============================================================================
--- branches/iostreams_dev/boost/iostreams/detail/config/rtl.hpp (original)
+++ branches/iostreams_dev/boost/iostreams/detail/config/rtl.hpp 2008-01-12 15:17:58 EST (Sat, 12 Jan 2008)
@@ -22,22 +22,20 @@
 #include <boost/iostreams/detail/config/windows_posix.hpp>
 
 // Handle open, close, read, and write
-#if defined(__BORLANDC__)
+#ifdef __BORLANDC__
 # define BOOST_IOSTREAMS_RTL(x) BOOST_JOIN(_rtl_, x)
+#elif defined BOOST_IOSTREAMS_WINDOWS
+# define BOOST_IOSTREAMS_RTL(x) BOOST_JOIN(_, x)
 #else
-# if defined(BOOST_IOSTREAMS_WINDOWS) && !defined(__CYGWIN__)
-# define BOOST_IOSTREAMS_RTL(x) BOOST_JOIN(_, x)
-# else
-# define BOOST_IOSTREAMS_RTL(x) ::x
-# endif
+# define BOOST_IOSTREAMS_RTL(x) ::x // Distinguish from member function named x
 #endif
 #define BOOST_IOSTREAMS_FD_OPEN BOOST_IOSTREAMS_RTL(open)
 #define BOOST_IOSTREAMS_FD_CLOSE BOOST_IOSTREAMS_RTL(close)
 #define BOOST_IOSTREAMS_FD_READ BOOST_IOSTREAMS_RTL(read)
 #define BOOST_IOSTREAMS_FD_WRITE BOOST_IOSTREAMS_RTL(write)
 
-// Handle lseek, ftruncate, stat, and off_t
-#if defined(BOOST_IOSTREAMS_WINDOWS) && !defined(__CYGWIN__)
+// Handle lseek, off_t, ftruncate, and stat
+#ifdef BOOST_IOSTREAMS_WINDOWS
 # if defined(BOOST_MSVC) || defined(__MSVCRT__) // MSVC, MinGW
 # define BOOST_IOSTREAMS_FD_SEEK _lseeki64
 # define BOOST_IOSTREAMS_FD_OFFSET __int64
@@ -48,14 +46,17 @@
 #else // Non-windows
 # if defined(_LARGEFILE64_SOURCE) && \
          (!defined(_FILE_OFFSET_BITS) || _FILE_OFFSET_BITS != 64) || \
- defined(__IBMCPP__) && !defined(__64BIT__) && !defined(_LARGE_FILE) || \
- defined(BOOST_IOSTREAMS_HAS_LSEEK64)
+ defined(__IBMCPP__) && !defined(_LARGE_FILES) || \
+ defined(BOOST_IOSTREAMS_HAS_LARGE_FILE_EXTENSIONS)
      /**/
-# define BOOST_IOSTREAMS_FD_SEEK lseek64 // Some GCC and IBM
+
+ /* Systems with transitional extensions for large file support */
+
+# define BOOST_IOSTREAMS_FD_SEEK lseek64
 # define BOOST_IOSTREAMS_FD_TRUNCATE ftruncate64
 # define BOOST_IOSTREAMS_FD_STAT stat64
 # define BOOST_IOSTREAMS_FD_OFFSET off64_t
-# else // Cygwin, Darwin, ...
+# else
 # define BOOST_IOSTREAMS_FD_SEEK lseek
 # define BOOST_IOSTREAMS_FD_TRUNCATE ftruncate
 # define BOOST_IOSTREAMS_FD_STAT stat


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk