[mpi] BOOST_HAS_LONG_LONG but no is_mpi_datatype<long long>

I'm trying to send a class with a uint64_t member and although my compiler (gcc 4.0.2), MPI library (OpenMPI 1.2.5) and boost library (SVN branches/release) all support "long long" natively on 32-bit i386, I noticed the necessary code is "#if 0" undefined in boost/mpi/datatype.hpp Just wondering why? #if 0 #ifndef BOOST_NO_INTRINSIC_WCHAR_T BOOST_MPI_DATATYPE(wchar_t, MPI_WCHAR, builtin); #endif #ifdef BOOST_HAS_LONG_LONG BOOST_MPI_DATATYPE(long long, MPI_LONG_LONG_INT, builtin); BOOST_MPI_DATATYPE(unsigned long long, MPI_UNSIGNED_LONG_LONG, builtin); #endif #endif Cheers, Simon

Hi, This is commented out because MPI_LONG_LONG_INT is not supported by all MPI implementations and thus leads to nonportable code. You can uncomment this if you are aware of that danger. Matthias On 26 Feb 2008, at 03:15, Number Cruncher wrote:
I'm trying to send a class with a uint64_t member and although my compiler (gcc 4.0.2), MPI library (OpenMPI 1.2.5) and boost library (SVN branches/release) all support "long long" natively on 32-bit i386, I noticed the necessary code is "#if 0" undefined in boost/mpi/ datatype.hpp
Just wondering why?
#if 0 #ifndef BOOST_NO_INTRINSIC_WCHAR_T BOOST_MPI_DATATYPE(wchar_t, MPI_WCHAR, builtin); #endif
#ifdef BOOST_HAS_LONG_LONG BOOST_MPI_DATATYPE(long long, MPI_LONG_LONG_INT, builtin); BOOST_MPI_DATATYPE(unsigned long long, MPI_UNSIGNED_LONG_LONG, builtin); #endif #endif
Cheers, Simon _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

On Mar 12, 2008, at 11:52 PM, Matthias Troyer wrote:
This is commented out because MPI_LONG_LONG_INT is not supported by all MPI implementations and thus leads to nonportable code. You can uncomment this if you are aware of that danger.
We should deal with this via configuration macros in mpi/config.hpp. I've created ticket #1680 so that this doesn't get forgotten. I won't have a chance to do the necessary survey of MPI implementations for at least a week. - Doug
participants (3)
-
Doug Gregor
-
Matthias Troyer
-
Number Cruncher