$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r60076 - in trunk/boost/config: . compiler
From: john_at_[hidden]
Date: 2010-03-02 12:18:32
Author: johnmaddock
Date: 2010-03-02 12:18:32 EST (Tue, 02 Mar 2010)
New Revision: 60076
URL: http://svn.boost.org/trac/boost/changeset/60076
Log:
Apply patches for nvidia C++ compiler.
Fixes #3919.
Added:
   trunk/boost/config/compiler/nvcc.hpp   (contents, props changed)
Text files modified: 
   trunk/boost/config/select_compiler_config.hpp |     5 +++++                                   
   trunk/boost/config/suffix.hpp                 |     9 +++++++--                               
   2 files changed, 12 insertions(+), 2 deletions(-)
Added: trunk/boost/config/compiler/nvcc.hpp
==============================================================================
--- (empty file)
+++ trunk/boost/config/compiler/nvcc.hpp	2010-03-02 12:18:32 EST (Tue, 02 Mar 2010)
@@ -0,0 +1,85 @@
+//  (C) Copyright Eric Jourdanneau, Joel Falcou 2010
+//  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.
+
+//  NVIDIA CUDA C++ compiler setup
+
+#ifndef BOOST_COMPILER
+#  define BOOST_COMPILER "NVIDIA CUDA C++ Compiler"
+#endif
+
+// NVIDIA Specific support
+// BOOST_GPU_ENABLED : Flag a function or a method as being enabled on the host and device
+#define BOOST_GPU_ENABLED __host__ __device__
+
+// Boost support macro for NVCC 
+// NVCC Basically behaves like some flavor of MSVC6 + some specific quirks
+#define BOOST_NO_INCLASS_MEMBER_INITIALIZATION
+#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_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_LAMBDAS
+#define BOOST_NO_INITIALIZER_LISTS
+#define BOOST_NO_MS_INT64_NUMERIC_LIMITS
+#define BOOST_NO_FUNCTION_TEMPLATE_DEFAULT_ARGS
+#define BOOST_NO_EXTERN_TEMPLATE
+#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_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_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_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
+#define BOOST_NO_0X_HDR_ARRAY
+
Modified: trunk/boost/config/select_compiler_config.hpp
==============================================================================
--- trunk/boost/config/select_compiler_config.hpp	(original)
+++ trunk/boost/config/select_compiler_config.hpp	2010-03-02 12:18:32 EST (Tue, 02 Mar 2010)
@@ -31,6 +31,7 @@
 #   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
@@ -40,6 +41,10 @@
 // GCC-XML emulates other compilers, it has to appear first here!
 #   define BOOST_COMPILER_CONFIG "boost/config/compiler/gcc_xml.hpp"
 
+#elif defined __CUDACC__
+//  NVIDIA CUDA C++ compiler for GPU
+#   define BOOST_COMPILER_CONFIG "boost/config/compiler/nvcc.hpp"
+
 #elif defined __COMO__
 //  Comeau C++
 #   define BOOST_COMPILER_CONFIG "boost/config/compiler/comeau.hpp"
Modified: trunk/boost/config/suffix.hpp
==============================================================================
--- trunk/boost/config/suffix.hpp	(original)
+++ trunk/boost/config/suffix.hpp	2010-03-02 12:18:32 EST (Tue, 02 Mar 2010)
@@ -8,7 +8,7 @@
 //  Copyright (c) 2002-2003 David Abrahams
 //  Copyright (c) 2003 Gennaro Prota
 //  Copyright (c) 2003 Eric Friedman
-//
+//  Copyright (c) 2010 Eric Jourdanneau, Joel Falcou
 // Distributed under 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)
@@ -596,6 +596,11 @@
 #     endif
 #  endif
 
+//
+// Set some default values GPU support
+//
+#  ifndef BOOST_GPU_ENABLED
+#  define BOOST_GPU_ENABLED 
+#  endif
 #endif
 
-