Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r67707 - in trunk: boost/archive/iterators boost/config boost/config/compiler boost/wave/util libs/math/build tools/build/v2/tools
From: admin_at_[hidden]
Date: 2011-01-05 21:38:21


Author: wash
Date: 2011-01-05 21:38:20 EST (Wed, 05 Jan 2011)
New Revision: 67707
URL: http://svn.boost.org/trac/boost/changeset/67707

Log:
Support for PathScale EKOPath Compiler Suite, version 4.0.0.

Added:
   trunk/boost/config/compiler/pathscale.hpp (contents, props changed)
Text files modified:
   trunk/boost/archive/iterators/transform_width.hpp | 2 +
   trunk/boost/config/select_compiler_config.hpp | 44 ++++++++++++++++++++++-----------------
   trunk/boost/wave/util/flex_string.hpp | 8 ++++++
   trunk/libs/math/build/Jamfile.v2 | 2
   trunk/tools/build/v2/tools/pathscale.jam | 20 +++++++++++++----
   5 files changed, 50 insertions(+), 26 deletions(-)

Modified: trunk/boost/archive/iterators/transform_width.hpp
==============================================================================
--- trunk/boost/archive/iterators/transform_width.hpp (original)
+++ trunk/boost/archive/iterators/transform_width.hpp 2011-01-05 21:38:20 EST (Wed, 05 Jan 2011)
@@ -24,6 +24,8 @@
 // character and 8 bit bytes. Lowest common multiple is 24 => 4 6 bit characters
 // or 3 8 bit characters
 
+#include <algorithm>
+
 #include <boost/config.hpp> // for BOOST_DEDUCED_TYPENAME & PTFO
 #include <boost/serialization/pfto.hpp>
 

Added: trunk/boost/config/compiler/pathscale.hpp
==============================================================================
--- (empty file)
+++ trunk/boost/config/compiler/pathscale.hpp 2011-01-05 21:38:20 EST (Wed, 05 Jan 2011)
@@ -0,0 +1,82 @@
+// (C) Copyright Bryce Lelbach 2011
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// See http://www.boost.org for most recent version.
+
+// PathScale EKOPath C++ Compiler
+
+#ifndef BOOST_COMPILER
+# define BOOST_COMPILER "PathScale EKOPath C++ Compiler version" __PATHSCALE__
+#endif
+
+#if __PATHCC__ >= 4
+# define BOOST_MSVC6_MEMBER_TEMPLATES
+# define BOOST_HAS_UNISTD_H
+# define BOOST_HAS_STDINT_H
+# define BOOST_HAS_SIGACTION
+# define BOOST_HAS_SCHED_YIELD
+# define BOOST_HAS_THREADS
+# define BOOST_HAS_PTHREADS
+# define BOOST_HAS_PTHREAD_YIELD
+# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
+# define BOOST_HAS_PARTIAL_STD_ALLOCATOR
+# define BOOST_HAS_NRVO
+# define BOOST_HAS_NL_TYPES_H
+# define BOOST_HAS_NANOSLEEP
+# define BOOST_HAS_LONG_LONG
+# define BOOST_HAS_LOG1P
+# define BOOST_HAS_GETTIMEOFDAY
+# define BOOST_HAS_EXPM1
+# define BOOST_HAS_DIRENT_H
+# define BOOST_HAS_CLOCK_GETTIME
+# define BOOST_NO_VARIADIC_TEMPLATES
+# define BOOST_NO_UNICODE_LITERALS
+# define BOOST_NO_TEMPLATE_ALIASES
+# define BOOST_NO_STD_UNORDERED
+# define BOOST_NO_STATIC_ASSERT
+# define BOOST_NO_SFINAE_EXPR
+# define BOOST_NO_SCOPED_ENUMS
+# define BOOST_NO_RVALUE_REFERENCES
+# define BOOST_NO_RAW_LITERALS
+# define BOOST_NO_NULLPTR
+# define BOOST_NO_NUMERIC_LIMITS_LOWEST
+# define BOOST_NO_LAMBDAS
+# define BOOST_NO_INITIALIZER_LISTS
+# define BOOST_NO_MS_INT64_NUMERIC_LIMITS
+# define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
+# define BOOST_NO_EXPLICIT_CONVERSION_OPERATORS
+# define BOOST_NO_DELETED_FUNCTIONS
+# define BOOST_NO_DEFAULTED_FUNCTIONS
+# define BOOST_NO_DECLTYPE
+# define BOOST_NO_CONSTEXPR
+# define BOOST_NO_CONCEPTS
+# define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
+# define BOOST_NO_CHAR32_T
+# define BOOST_NO_CHAR16_T
+# define BOOST_NO_AUTO_MULTIDECLARATIONS
+# define BOOST_NO_AUTO_DECLARATIONS
+# 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_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_MEMORY_CONCEPTS
+# define BOOST_NO_0X_HDR_ITERATOR_CONCEPTS
+# 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_CONTAINER_CONCEPTS
+# define BOOST_NO_0X_HDR_CONDITION_VARIABLE
+# define BOOST_NO_0X_HDR_CONCEPTS
+# define BOOST_NO_0X_HDR_CODECVT
+# define BOOST_NO_0X_HDR_CHRONO
+#endif
+

Modified: trunk/boost/config/select_compiler_config.hpp
==============================================================================
--- trunk/boost/config/select_compiler_config.hpp (original)
+++ trunk/boost/config/select_compiler_config.hpp 2011-01-05 21:38:20 EST (Wed, 05 Jan 2011)
@@ -14,25 +14,27 @@
 // one identification macro for each of the
 // compilers we support:
 
-# define BOOST_CXX_GCCXML 0
-# define BOOST_CXX_CLANG 0
-# define BOOST_CXX_COMO 0
-# define BOOST_CXX_DMC 0
-# define BOOST_CXX_INTEL 0
-# define BOOST_CXX_GNUC 0
-# define BOOST_CXX_KCC 0
-# define BOOST_CXX_SGI 0
-# define BOOST_CXX_TRU64 0
-# define BOOST_CXX_GHS 0
-# define BOOST_CXX_BORLAND 0
-# define BOOST_CXX_CW 0
-# define BOOST_CXX_SUNPRO 0
-# define BOOST_CXX_HPACC 0
-# define BOOST_CXX_MPW 0
-# define BOOST_CXX_IBMCPP 0
-# define BOOST_CXX_MSVC 0
-# define BOOST_CXX_PGI 0
-# define BOOST_CXX_NVCC 0
+# define BOOST_CXX_GCCXML 0
+# define BOOST_CXX_NVCC 0
+# define BOOST_CXX_COMO 0
+# define BOOST_CXX_PATHSCALE 0
+# define BOOST_CXX_CLANG 0
+# define BOOST_CXX_DMC 0
+# define BOOST_CXX_INTEL 0
+# define BOOST_CXX_GNUC 0
+# define BOOST_CXX_KCC 0
+# define BOOST_CXX_SGI 0
+# define BOOST_CXX_TRU64 0
+# define BOOST_CXX_GHS 0
+# define BOOST_CXX_BORLAND 0
+# define BOOST_CXX_CW 0
+# define BOOST_CXX_SUNPRO 0
+# define BOOST_CXX_HPACC 0
+# define BOOST_CXX_MPW 0
+# define BOOST_CXX_IBMCPP 0
+# define BOOST_CXX_MSVC 0
+# define BOOST_CXX_PGI 0
+# define BOOST_CXX_NVCC 0
 
 
 // locate which compiler we are using and define
@@ -50,6 +52,10 @@
 // Comeau C++
 # define BOOST_COMPILER_CONFIG "boost/config/compiler/comeau.hpp"
 
+#elif defined __PATHSCALE__
+// PathScale EKOPath compiler (has to come before clang and gcc)
+# define BOOST_COMPILER_CONFIG "boost/config/compiler/pathscale.hpp"
+
 #elif defined __clang__
 // Clang C++ emulates GCC, so it has to appear early.
 # define BOOST_COMPILER_CONFIG "boost/config/compiler/clang.hpp"

Modified: trunk/boost/wave/util/flex_string.hpp
==============================================================================
--- trunk/boost/wave/util/flex_string.hpp (original)
+++ trunk/boost/wave/util/flex_string.hpp 2011-01-05 21:38:20 EST (Wed, 05 Jan 2011)
@@ -102,7 +102,13 @@
 #include <functional>
 #include <limits>
 #include <stdexcept>
-#include <iosfwd>
+
+#if defined(__PATHSCALE__)
+ #include <ios>
+#else
+ #include <iosfwd>
+#endif
+
 #include <cstddef>
 #include <cstring>
 #include <cstdlib>

Modified: trunk/libs/math/build/Jamfile.v2
==============================================================================
--- trunk/libs/math/build/Jamfile.v2 (original)
+++ trunk/libs/math/build/Jamfile.v2 2011-01-05 21:38:20 EST (Wed, 05 Jan 2011)
@@ -16,7 +16,7 @@
       #<toolset>gcc:<cxxflags>-fvisibility=hidden
       <toolset>intel-linux:<cxxflags>-fvisibility=hidden
       <toolset>sun:<cxxflags>-xldscope=hidden
- [ check-target-builds ../config//has_gcc_visibility : <cxxflags>-fvisibility=hidden : ]
+ [ check-target-builds ../config//has_gcc_visibility : <toolset>gcc:<cxxflags>-fvisibility=hidden : ]
     ;
 
 cpp-pch pch : ../src/tr1/pch.hpp : <include>../src/tr1 <link>shared:<define>BOOST_MATH_TR1_DYN_LINK=1 ;

Modified: trunk/tools/build/v2/tools/pathscale.jam
==============================================================================
--- trunk/tools/build/v2/tools/pathscale.jam (original)
+++ trunk/tools/build/v2/tools/pathscale.jam 2011-01-05 21:38:20 EST (Wed, 05 Jan 2011)
@@ -21,9 +21,19 @@
 
 rule init ( version ? : command * : options * )
 {
- local condition = [ common.check-init-parameters pathscale : version $(version) ] ;
-
- command = [ common.get-invocation-command pathscale : pathCC : $(command) ] ;
+ command = [ common.get-invocation-command pathscale : pathCC : $(command)
+ : /opt/ekopath/bin ] ;
+
+ # Determine the version
+ local command-string = $(command:J=" ") ;
+ if $(command)
+ {
+ version ?= [ MATCH "^([0-9.]+)"
+ : [ SHELL "$(command-string) -dumpversion" ] ] ;
+ }
+
+ local condition = [ common.check-init-parameters pathscale
+ : version $(version) ] ;
 
   common.handle-options pathscale : $(condition) : $(command) : $(options) ;
     
@@ -56,12 +66,12 @@
 flags pathscale.compile OPTIONS <debug-symbols>on : -g ;
 flags pathscale.compile OPTIONS <profiling>on : -pg ;
 flags pathscale.compile OPTIONS <link>shared : -fPIC ;
-flags pathscale.compile OPTIONS <optimization>speed : -O2 ;
+flags pathscale.compile OPTIONS <optimization>speed : -O3 ;
 flags pathscale.compile OPTIONS <optimization>space : -Os ;
 flags pathscale.compile OPTIONS <address-model>32 : -m32 ;
 flags pathscale.compile OPTIONS <address-model>64 : -m64 ;
 
-flags pathscale.compile OPTIONS <warnings>off : -woffall ;
+flags pathscale.compile OPTIONS <warnings>off : -woffall -Wno-uninitialized ;
 flags pathscale.compile OPTIONS <warnings>on : -Wall ;
 flags pathscale.compile OPTIONS <warnings>all : -Wall ;
 


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