Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r76464 - in trunk: boost/config/compiler libs/filesystem/v2/src tools/build/v2/tools
From: kbelco_at_[hidden]
Date: 2012-01-13 14:16:02


Author: noel_belcourt
Date: 2012-01-13 14:16:02 EST (Fri, 13 Jan 2012)
New Revision: 76464
URL: http://svn.boost.org/trac/boost/changeset/76464

Log:
Various sundry PGI fixes to get Boost.config working.

Text files modified:
   trunk/boost/config/compiler/pgi.hpp | 42 ++++++++++++++++++++++++++++++++++++++-
   trunk/libs/filesystem/v2/src/v2_operations.cpp | 6 +++++
   trunk/tools/build/v2/tools/pgi.jam | 2
   3 files changed, 47 insertions(+), 3 deletions(-)

Modified: trunk/boost/config/compiler/pgi.hpp
==============================================================================
--- trunk/boost/config/compiler/pgi.hpp (original)
+++ trunk/boost/config/compiler/pgi.hpp 2012-01-13 14:16:02 EST (Fri, 13 Jan 2012)
@@ -16,10 +16,27 @@
 // if no threading API is detected.
 //
 
-#if __PGIC__ >= 10
+#if __PGIC__ >= 11
 
 // options requested by configure --enable-test
-#define BOOST_HAS_PTHREADS
+#define BOOST_HAS_NRVO
+#define BOOST_HAS_LONG_LONG
+
+// options --enable-test wants undefined
+#undef BOOST_NO_STDC_NAMESPACE
+#undef BOOST_NO_EXCEPTION_STD_NAMESPACE
+#undef BOOST_DEDUCED_TYPENAME
+
+#define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
+#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
+#define BOOST_NO_AUTO_MULTIDECLARATIONS
+#define BOOST_NO_AUTO_DECLARATIONS
+#define BOOST_NO_STD_UNORDERED
+
+#elif __PGIC__ >= 10
+
+// options requested by configure --enable-test
+#define BOOST_HAS_THREADS
 #define BOOST_HAS_NRVO
 #define BOOST_HAS_LONG_LONG
 
@@ -60,17 +77,38 @@
 #define BOOST_NO_LAMBDAS
 #define BOOST_NO_NOEXCEPT
 #define BOOST_NO_NULLPTR
+#define BOOST_NO_NUMERIC_LIMITS_LOWEST
 #define BOOST_NO_RAW_LITERALS
 #define BOOST_NO_RVALUE_REFERENCES
 #define BOOST_NO_SCOPED_ENUMS
 #define BOOST_NO_SFINAE_EXPR
 #define BOOST_NO_STATIC_ASSERT
+#define BOOST_NO_SWPRINTF
 #define BOOST_NO_TEMPLATE_ALIASES
 #define BOOST_NO_UNICODE_LITERALS
 #define BOOST_NO_VARIADIC_TEMPLATES
 #define BOOST_NO_VARIADIC_MACROS
 #define BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX
 
+#define BOOST_NO_0X_HDR_UNORDERED_SET
+#define BOOST_NO_0X_HDR_UNORDERED_MAP
+#define BOOST_NO_0X_HDR_TYPEINDEX
+#define BOOST_NO_0X_HDR_TYPE_TRAITS
+#define BOOST_NO_0X_HDR_TUPLE
+#define BOOST_NO_0X_HDR_THREAD
+#define BOOST_NO_0X_HDR_SYSTEM_ERROR
+#define BOOST_NO_0X_HDR_REGEX
+#define BOOST_NO_0X_HDR_RATIO
+#define BOOST_NO_0X_HDR_RANDOM
+#define BOOST_NO_0X_HDR_MUTEX
+#define BOOST_NO_0X_HDR_INITIALIZER_LIST
+#define BOOST_NO_0X_HDR_FUTURE
+#define BOOST_NO_0X_HDR_FORWARD_LIST
+#define BOOST_NO_0X_HDR_CONDITION_VARIABLE
+#define BOOST_NO_0X_HDR_CODECVT
+#define BOOST_NO_0X_HDR_CHRONO
+#define BOOST_NO_0X_HDR_ARRAY
+
 //
 // version check:
 // probably nothing to do here?

Modified: trunk/libs/filesystem/v2/src/v2_operations.cpp
==============================================================================
--- trunk/libs/filesystem/v2/src/v2_operations.cpp (original)
+++ trunk/libs/filesystem/v2/src/v2_operations.cpp 2012-01-13 14:16:02 EST (Fri, 13 Jan 2012)
@@ -24,6 +24,7 @@
       !defined(_STATVFS_ACPP_PROBLEMS_FIXED))
 #define _FILE_OFFSET_BITS 64 // at worst, these defines may have no effect,
 #endif
+#if !defined(__PGI)
 #define __USE_FILE_OFFSET64 // but that is harmless on Windows and on POSIX
       // 64-bit systems or on 32-bit systems which don't have files larger
       // than can be represented by a traditional POSIX/UNIX off_t type.
@@ -40,6 +41,7 @@
 #if !defined(_WIN32_WINNT)
 #define _WIN32_WINNT 0x0500 // Default to Windows 2K or later
 #endif
+#endif
 
 
 #include <boost/filesystem/v2/operations.hpp>
@@ -1308,6 +1310,10 @@
         return error_code( ::closedir( h ) == 0 ? 0 : errno, system_category() );
       }
 
+#if defined(__PGI) && defined(__USE_FILE_OFFSET64)
+#define dirent dirent64
+#endif
+
       // warning: the only dirent member updated is d_name
       inline int readdir_r_simulator( DIR * dirp, struct dirent * entry,
         struct dirent ** result ) // *result set to 0 on end of directory

Modified: trunk/tools/build/v2/tools/pgi.jam
==============================================================================
--- trunk/tools/build/v2/tools/pgi.jam (original)
+++ trunk/tools/build/v2/tools/pgi.jam 2012-01-13 14:16:02 EST (Fri, 13 Jan 2012)
@@ -29,7 +29,7 @@
 
   common.handle-options pgi : $(condition) : $(l_command) : $(options) ;
     
- command_c = $(command_c[1--2]) $(l_command[-1]:B=cc) ;
+ command_c = $(command_c[1--2]) $(l_command[-1]:B=pgcc) ;
 
   toolset.flags pgi CONFIG_C_COMMAND $(condition) : $(command_c) ;
 


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