Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r74388 - in trunk/boost/config: . compiler platform
From: john_at_[hidden]
Date: 2011-09-15 13:10:59


Author: johnmaddock
Date: 2011-09-15 13:10:58 EDT (Thu, 15 Sep 2011)
New Revision: 74388
URL: http://svn.boost.org/trac/boost/changeset/74388

Log:
Add tentative Cray compiler support.
Added:
   trunk/boost/config/compiler/cray.hpp (contents, props changed)
   trunk/boost/config/platform/cray.hpp (contents, props changed)
Text files modified:
   trunk/boost/config/select_compiler_config.hpp | 4 ++++
   trunk/boost/config/select_platform_config.hpp | 6 +++++-
   2 files changed, 9 insertions(+), 1 deletions(-)

Added: trunk/boost/config/compiler/cray.hpp
==============================================================================
--- (empty file)
+++ trunk/boost/config/compiler/cray.hpp 2011-09-15 13:10:58 EDT (Thu, 15 Sep 2011)
@@ -0,0 +1,61 @@
+// (C) Copyright John Maddock 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.
+
+// Greenhills C compiler setup:
+
+#define BOOST_COMPILER "Cray C version " BOOST_STRINGIZE(_RELEASE)
+
+#if _RELEASE < 7
+# error "Boost is not configured for Cray compilers prior to version 7, please try the configure script."
+#endif
+
+//
+// Check this is a recent EDG based compiler, otherwise we don't support it here:
+//
+#ifndef __EDG_VERSION__
+# error "Unsupported Cray compiler, please try running the configure script."
+#endif
+
+#include "boost/config/compiler/common_edg.hpp"
+
+//
+// Cray peculiarities, probably version 7 specific:
+//
+#undef BOOST_NO_AUTO_DECLARATIONS
+#undef BOOST_NO_AUTO_MULTIDECLARATIONS
+#define BOOST_HAS_NRVO
+#define BOOST_NO_VARIADIC_TEMPLATES
+#define BOOST_NO_UNIFIED_INITIALIZATION_SYNTAX
+#define BOOST_NO_UNICODE_LITERALS
+#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
+#define BOOST_HAS_NRVO
+#define BOOST_NO_TEMPLATE_ALIASES
+#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_NOEXCEPT
+#define BOOST_NO_LAMBDAS
+#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_N3276
+#define BOOST_NO_DECLTYPE
+#define BOOST_NO_CONSTEXPR
+#define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
+#define BOOST_NO_CHAR32_T
+#define BOOST_NO_CHAR16_T
+//#define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG
+#define BOOST_MATH_DISABLE_STD_FPCLASSIFY
+//#define BOOST_HAS_FPCLASSIFY
+
+#define BOOST_SP_USE_PTHREADS
+#define BOOST_AC_USE_PTHREADS
+

Added: trunk/boost/config/platform/cray.hpp
==============================================================================
--- (empty file)
+++ trunk/boost/config/platform/cray.hpp 2011-09-15 13:10:58 EDT (Thu, 15 Sep 2011)
@@ -0,0 +1,18 @@
+// (C) Copyright John Maddock 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.
+
+// SGI Irix specific config options:
+
+#define BOOST_PLATFORM "Cray"
+
+// boilerplate code:
+#define BOOST_HAS_UNISTD_H
+#include <boost/config/posix_features.hpp>
+
+
+

Modified: trunk/boost/config/select_compiler_config.hpp
==============================================================================
--- trunk/boost/config/select_compiler_config.hpp (original)
+++ trunk/boost/config/select_compiler_config.hpp 2011-09-15 13:10:58 EDT (Thu, 15 Sep 2011)
@@ -17,6 +17,10 @@
 // GCC-XML emulates other compilers, it has to appear first here!
 # define BOOST_COMPILER_CONFIG "boost/config/compiler/gcc_xml.hpp"
 
+#elif defined(_CRAYC)
+// EDG based Cray compiler:
+# define BOOST_COMPILER_CONFIG "boost/config/compiler/cray.hpp"
+
 #elif defined __CUDACC__
 // NVIDIA CUDA C++ compiler for GPU
 # define BOOST_COMPILER_CONFIG "boost/config/compiler/nvcc.hpp"

Modified: trunk/boost/config/select_platform_config.hpp
==============================================================================
--- trunk/boost/config/select_platform_config.hpp (original)
+++ trunk/boost/config/select_platform_config.hpp 2011-09-15 13:10:58 EDT (Thu, 15 Sep 2011)
@@ -13,7 +13,7 @@
 // <header_name> in order to prevent macro expansion within the header
 // name (for example "linux" is a macro on linux systems).
 
-#if defined(linux) || defined(__linux) || defined(__linux__) || defined(__GNU__) || defined(__GLIBC__)
+#if (defined(linux) || defined(__linux) || defined(__linux__) || defined(__GNU__) || defined(__GLIBC__)) && !defined(_CRAYC)
 // linux, also other platforms (Hurd etc) that use GLIBC, should these really have their own config headers though?
 # define BOOST_PLATFORM_CONFIG "boost/config/platform/linux.hpp"
 
@@ -69,6 +69,10 @@
 // Symbian:
 # define BOOST_PLATFORM_CONFIG "boost/config/platform/symbian.hpp"
 
+#elif defined(_CRAYC)
+// Cray:
+# define BOOST_PLATFORM_CONFIG "boost/config/platform/cray.hpp"
+
 #elif defined(__VMS)
 // VMS:
 # define BOOST_PLATFORM_CONFIG "boost/config/platform/vms.hpp"


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