From 639e4b429ff99b77ffc0d9109ef96cbfb52f9c38 Mon Sep 17 00:00:00 2001 From: Augustin Degomme Date: Mon, 7 Jul 2014 15:33:32 +0200 Subject: [PATCH] use the right types in fortran for some platforms (based on f2c matching, hopefully correct) --- include/smpi/smpi.h | 2 ++ src/smpi/smpi_f77.c | 9 +++++++++ 2 files changed, 11 insertions(+) diff --git a/include/smpi/smpi.h b/include/smpi/smpi.h index 3144250b76..5270ed3234 100644 --- a/include/smpi/smpi.h +++ b/include/smpi/smpi.h @@ -254,6 +254,8 @@ XBT_PUBLIC_DATA(MPI_Datatype) MPI_2DOUBLE; #define MPI_LOGICAL4 MPI_UINT32_T #define MPI_LOGICAL8 MPI_UINT64_T #define MPI_2REAL MPI_2FLOAT +#define MPI_CHARACTER MPI_CHAR +#define MPI_DOUBLE_PRECISION MPI_DOUBLE #define MPI_2DOUBLE_PRECISION MPI_2DOUBLE #define MPI_COMPLEX8 MPI_DATATYPE_NULL #define MPI_COMPLEX16 MPI_DATATYPE_NULL diff --git a/src/smpi/smpi_f77.c b/src/smpi/smpi_f77.c index b83160f086..32200bf849 100644 --- a/src/smpi/smpi_f77.c +++ b/src/smpi/smpi_f77.c @@ -180,8 +180,13 @@ void mpi_init_(int* ierr) { datatype_lookup = xbt_dict_new_homogeneous(NULL); new_datatype(MPI_BYTE); new_datatype(MPI_CHAR); + #if defined(__alpha__) || defined(__sparc64__) || defined(__x86_64__) || defined(__ia64__) new_datatype(MPI_INT); new_datatype(MPI_INT); + #else + new_datatype(MPI_LONG); + new_datatype(MPI_LONG); + #endif new_datatype(MPI_INT8_T); new_datatype(MPI_INT16_T); new_datatype(MPI_INT32_T); @@ -192,7 +197,11 @@ void mpi_init_(int* ierr) { new_datatype(MPI_DOUBLE); new_datatype(MPI_C_FLOAT_COMPLEX); new_datatype(MPI_C_DOUBLE_COMPLEX); + #if defined(__alpha__) || defined(__sparc64__) || defined(__x86_64__) || defined(__ia64__) new_datatype(MPI_2INT); + #else + new_datatype(MPI_2LONG); + #endif new_datatype(MPI_UINT8_T); new_datatype(MPI_UINT16_T); new_datatype(MPI_UINT32_T); -- 2.20.1