Boost logo

Boost-Commit :

From: dgregor_at_[hidden]
Date: 2007-12-14 09:48:15


Author: dgregor
Date: 2007-12-14 09:48:14 EST (Fri, 14 Dec 2007)
New Revision: 42031
URL: http://svn.boost.org/trac/boost/changeset/42031

Log:
Merged fixes for Function, Signals, and MPI from trunk. See #1499, see #1416, see #1486
Text files modified:
   branches/release/boost/function/function_base.hpp | 1 +
   branches/release/boost/function/function_template.hpp | 9 +++++++++
   branches/release/boost/mpi/config.hpp | 4 ++++
   branches/release/boost/mpi/datatype.hpp | 6 ++++++
   branches/release/boost/mpi/detail/mpi_datatype_primitive.hpp | 2 +-
   branches/release/boost/mpi/detail/packed_iprimitive.hpp | 2 +-
   branches/release/boost/mpi/detail/packed_oprimitive.hpp | 2 +-
   branches/release/boost/signals/detail/named_slot_map.hpp | 2 +-
   branches/release/libs/signals/src/named_slot_map.cpp | 2 +-
   9 files changed, 25 insertions(+), 5 deletions(-)

Modified: branches/release/boost/function/function_base.hpp
==============================================================================
--- branches/release/boost/function/function_base.hpp (original)
+++ branches/release/boost/function/function_base.hpp 2007-12-14 09:48:14 EST (Fri, 14 Dec 2007)
@@ -33,6 +33,7 @@
 #if defined(BOOST_MSVC)
 # pragma warning( push )
 # pragma warning( disable : 4793 ) // complaint about native code generation
+# pragma warning( disable : 4127 ) // "conditional expression is constant"
 #endif
 
 // Define BOOST_FUNCTION_STD_NS to the namespace that contains type_info.

Modified: branches/release/boost/function/function_template.hpp
==============================================================================
--- branches/release/boost/function/function_template.hpp (original)
+++ branches/release/boost/function/function_template.hpp 2007-12-14 09:48:14 EST (Fri, 14 Dec 2007)
@@ -11,6 +11,11 @@
 // protection.
 #include <boost/function/detail/prologue.hpp>
 
+#if defined(BOOST_MSVC)
+# pragma warning( push )
+# pragma warning( disable : 4127 ) // "conditional expression is constant"
+#endif
+
 #define BOOST_FUNCTION_TEMPLATE_PARMS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, typename T)
 
 #define BOOST_FUNCTION_TEMPLATE_ARGS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, T)
@@ -958,3 +963,7 @@
 #undef BOOST_FUNCTION_ARG_TYPES
 #undef BOOST_FUNCTION_VOID_RETURN_TYPE
 #undef BOOST_FUNCTION_RETURN
+
+#if defined(BOOST_MSVC)
+# pragma warning( pop )
+#endif

Modified: branches/release/boost/mpi/config.hpp
==============================================================================
--- branches/release/boost/mpi/config.hpp (original)
+++ branches/release/boost/mpi/config.hpp 2007-12-14 09:48:14 EST (Fri, 14 Dec 2007)
@@ -13,6 +13,10 @@
 #ifndef BOOST_MPI_CONFIG_HPP
 #define BOOST_MPI_CONFIG_HPP
 
+/* Force MPICH not to define SEEK_SET, SEEK_CUR, and SEEK_END, which
+ conflict with the versions in <stdio.h> and <cstdio>. */
+#define MPICH_IGNORE_CXX_SEEK 1
+
 #include <mpi.h>
 #include <boost/config.hpp>
 

Modified: branches/release/boost/mpi/datatype.hpp
==============================================================================
--- branches/release/boost/mpi/datatype.hpp (original)
+++ branches/release/boost/mpi/datatype.hpp 2007-12-14 09:48:14 EST (Fri, 14 Dec 2007)
@@ -25,6 +25,7 @@
 #include <boost/mpl/or.hpp>
 #include <boost/mpi/detail/mpi_datatype_cache.hpp>
 #include <boost/mpl/assert.hpp>
+#include <utility> // for std::pair
 
 namespace boost { namespace mpi {
 
@@ -289,6 +290,11 @@
   : boost::mpl::bool_<true>
 {};
 
+/// INTERNAL ONLY
+template<typename T, typename U>
+struct is_mpi_datatype<std::pair<T, U> >
+ : mpl::and_<is_mpi_datatype<T>, is_mpi_datatype<U> > { };
+
 } } // end namespace boost::mpi
 
 #endif // BOOST_MPI_MPI_DATATYPE_HPP

Modified: branches/release/boost/mpi/detail/mpi_datatype_primitive.hpp
==============================================================================
--- branches/release/boost/mpi/detail/mpi_datatype_primitive.hpp (original)
+++ branches/release/boost/mpi/detail/mpi_datatype_primitive.hpp 2007-12-14 09:48:14 EST (Fri, 14 Dec 2007)
@@ -9,7 +9,7 @@
 #ifndef BOOST_MPI_DETAIL_MPI_DATATYPE_OPRIMITIVE_HPP
 #define BOOST_MPI_DETAIL_MPI_DATATYPE_OPRIMITIVE_HPP
 
-#include <mpi.h>
+#include <boost/mpi/config.hpp>
 #include <cstddef> // size_t
 
 #include <boost/config.hpp>

Modified: branches/release/boost/mpi/detail/packed_iprimitive.hpp
==============================================================================
--- branches/release/boost/mpi/detail/packed_iprimitive.hpp (original)
+++ branches/release/boost/mpi/detail/packed_iprimitive.hpp 2007-12-14 09:48:14 EST (Fri, 14 Dec 2007)
@@ -9,7 +9,7 @@
 #ifndef BOOST_MPI_PACKED_IPRIMITIVE_HPP
 #define BOOST_MPI_PACKED_IPRIMITIVE_HPP
 
-#include <mpi.h>
+#include <boost/mpi/config.hpp>
 #include <iostream>
 #include <cstddef> // size_t
 #include <boost/config.hpp>

Modified: branches/release/boost/mpi/detail/packed_oprimitive.hpp
==============================================================================
--- branches/release/boost/mpi/detail/packed_oprimitive.hpp (original)
+++ branches/release/boost/mpi/detail/packed_oprimitive.hpp 2007-12-14 09:48:14 EST (Fri, 14 Dec 2007)
@@ -9,7 +9,7 @@
 #ifndef BOOST_MPI_PACKED_OPRIMITIVE_HPP
 #define BOOST_MPI_PACKED_OPRIMITIVE_HPP
 
-#include <mpi.h>
+#include <boost/mpi/config.hpp>
 #include <iostream>
 #include <cstddef> // size_t
 #include <boost/config.hpp>

Modified: branches/release/boost/signals/detail/named_slot_map.hpp
==============================================================================
--- branches/release/boost/signals/detail/named_slot_map.hpp (original)
+++ branches/release/boost/signals/detail/named_slot_map.hpp 2007-12-14 09:48:14 EST (Fri, 14 Dec 2007)
@@ -127,7 +127,7 @@
         || slot_ == other.slot_));
   }
 
-#if BOOST_WORKAROUND(_MSC_VER, <= 1400)
+#if BOOST_WORKAROUND(_MSC_VER, <= 1500)
   void decrement();
   void advance(difference_type);
 #endif

Modified: branches/release/libs/signals/src/named_slot_map.cpp
==============================================================================
--- branches/release/libs/signals/src/named_slot_map.cpp (original)
+++ branches/release/libs/signals/src/named_slot_map.cpp 2007-12-14 09:48:14 EST (Fri, 14 Dec 2007)
@@ -24,7 +24,7 @@
 typedef slot_container_type::const_iterator const_group_iterator;
 
 
-#if BOOST_WORKAROUND(_MSC_VER, <= 1400)
+#if BOOST_WORKAROUND(_MSC_VER, <= 1500)
 void named_slot_map_iterator::decrement() { assert(false); }
 void named_slot_map_iterator::advance(difference_type) { assert(false); }
 #endif


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