Get rid of MSVC's __int64
Use either int64_t, uint64_t or long long and unsigned long long, defined as per C++11 standard
This commit is contained in:
@@ -105,7 +105,7 @@ struct is_mpi_byte_datatype
|
||||
* directly to the MPI type @c MPI_INT. When there is a direct
|
||||
* mapping from the type @c T to an MPI type, @c
|
||||
* is_mpi_builtin_datatype will derive from @c mpl::true_ and the MPI
|
||||
* data type will be accessible via @c get_mpi_datatype.
|
||||
* data type will be accessible via @c get_mpi_datatype.
|
||||
*
|
||||
* In general, users should not need to specialize this
|
||||
* trait. However, if you have an additional C++ type that can map
|
||||
@@ -240,19 +240,19 @@ BOOST_MPI_DATATYPE(unsigned long, MPI_UNSIGNED_LONG, integer);
|
||||
/// INTERNAL ONLY
|
||||
#define BOOST_MPI_LIST2(A, B) A, B
|
||||
/// INTERNAL ONLY
|
||||
BOOST_MPI_DATATYPE(std::pair<BOOST_MPI_LIST2(float, int)>, MPI_FLOAT_INT,
|
||||
BOOST_MPI_DATATYPE(std::pair<BOOST_MPI_LIST2(float, int)>, MPI_FLOAT_INT,
|
||||
builtin);
|
||||
/// INTERNAL ONLY
|
||||
BOOST_MPI_DATATYPE(std::pair<BOOST_MPI_LIST2(double, int)>, MPI_DOUBLE_INT,
|
||||
BOOST_MPI_DATATYPE(std::pair<BOOST_MPI_LIST2(double, int)>, MPI_DOUBLE_INT,
|
||||
builtin);
|
||||
/// INTERNAL ONLY
|
||||
BOOST_MPI_DATATYPE(std::pair<BOOST_MPI_LIST2(long double, int)>,
|
||||
MPI_LONG_DOUBLE_INT, builtin);
|
||||
/// INTERNAL ONLY
|
||||
BOOST_MPI_DATATYPE(std::pair<BOOST_MPI_LIST2(long, int>), MPI_LONG_INT,
|
||||
BOOST_MPI_DATATYPE(std::pair<BOOST_MPI_LIST2(long, int>), MPI_LONG_INT,
|
||||
builtin);
|
||||
/// INTERNAL ONLY
|
||||
BOOST_MPI_DATATYPE(std::pair<BOOST_MPI_LIST2(short, int>), MPI_SHORT_INT,
|
||||
BOOST_MPI_DATATYPE(std::pair<BOOST_MPI_LIST2(short, int>), MPI_SHORT_INT,
|
||||
builtin);
|
||||
/// INTERNAL ONLY
|
||||
BOOST_MPI_DATATYPE(std::pair<BOOST_MPI_LIST2(int, int>), MPI_2INT, builtin);
|
||||
@@ -271,18 +271,18 @@ struct is_mpi_datatype<std::pair<T,U> >
|
||||
BOOST_MPI_DATATYPE(wchar_t, MPI_WCHAR, builtin);
|
||||
#endif
|
||||
|
||||
// Define long long or __int64 specialization of is_mpi_datatype, if possible.
|
||||
// Define long long or int64_t specialization of is_mpi_datatype, if possible.
|
||||
#if defined(BOOST_HAS_LONG_LONG) && \
|
||||
(defined(MPI_LONG_LONG_INT) || (defined(MPI_VERSION) && MPI_VERSION >= 2))
|
||||
BOOST_MPI_DATATYPE(long long, MPI_LONG_LONG_INT, builtin);
|
||||
#elif defined(BOOST_HAS_MS_INT64) && \
|
||||
(defined(MPI_LONG_LONG_INT) || (defined(MPI_VERSION) && MPI_VERSION >= 2))
|
||||
BOOST_MPI_DATATYPE(__int64, MPI_LONG_LONG_INT, builtin);
|
||||
BOOST_MPI_DATATYPE(int64_t, MPI_LONG_LONG_INT, builtin);
|
||||
#endif
|
||||
|
||||
// Define unsigned long long or unsigned __int64 specialization of
|
||||
// Define unsigned long long or uint64_t specialization of
|
||||
// is_mpi_datatype, if possible. We separate this from the check for
|
||||
// the (signed) long long/__int64 because some MPI implementations
|
||||
// the (signed) long long/int64_t because some MPI implementations
|
||||
// (e.g., MPICH-MX) have MPI_LONG_LONG_INT but not
|
||||
// MPI_UNSIGNED_LONG_LONG.
|
||||
#if defined(BOOST_HAS_LONG_LONG) && \
|
||||
@@ -292,7 +292,7 @@ BOOST_MPI_DATATYPE(unsigned long long, MPI_UNSIGNED_LONG_LONG, builtin);
|
||||
#elif defined(BOOST_HAS_MS_INT64) && \
|
||||
(defined(MPI_UNSIGNED_LONG_LONG) \
|
||||
|| (defined(MPI_VERSION) && MPI_VERSION >= 2))
|
||||
BOOST_MPI_DATATYPE(unsigned __int64, MPI_UNSIGNED_LONG_LONG, builtin);
|
||||
BOOST_MPI_DATATYPE(uint64_t, MPI_UNSIGNED_LONG_LONG, builtin);
|
||||
#endif
|
||||
|
||||
// Define signed char specialization of is_mpi_datatype, if possible.
|
||||
|
||||
Reference in New Issue
Block a user