-void smpi_init_fortran_types(){
- if(simgrid::smpi::F2C::lookup() == nullptr){
- MPI_COMM_WORLD->add_f();
- MPI_BYTE->add_f();//MPI_BYTE
- MPI_CHAR->add_f();//MPI_CHARACTER
-#if defined(__alpha__) || defined(__sparc64__) || defined(__x86_64__) || defined(__ia64__)
- MPI_C_BOOL->add_f();//MPI_LOGICAL
- MPI_INT->add_f();//MPI_INTEGER
-#else
- MPI_C_BOOL->add_f();//MPI_LOGICAL
- MPI_LONG->add_f();//MPI_INTEGER
-#endif
- MPI_INT8_T->add_f();//MPI_INTEGER1
- MPI_INT16_T->add_f();//MPI_INTEGER2
- MPI_INT32_T->add_f();//MPI_INTEGER4
- MPI_INT64_T->add_f();//MPI_INTEGER8
- MPI_REAL->add_f();//MPI_REAL
- MPI_REAL4->add_f();//MPI_REAL4
- MPI_REAL8->add_f();//MPI_REAL8
- MPI_DOUBLE->add_f();//MPI_DOUBLE_PRECISION
- MPI_C_FLOAT_COMPLEX->add_f();//MPI_COMPLEX
- MPI_C_DOUBLE_COMPLEX->add_f();//MPI_DOUBLE_COMPLEX
-#if defined(__alpha__) || defined(__sparc64__) || defined(__x86_64__) || defined(__ia64__)
- MPI_2INT->add_f();//MPI_2INTEGER
-#else
- MPI_2LONG->add_f();//MPI_2INTEGER
-#endif
- MPI_UINT8_T->add_f();//MPI_LOGICAL1
- MPI_UINT16_T->add_f();//MPI_LOGICAL2
- MPI_UINT32_T->add_f();//MPI_LOGICAL4
- MPI_UINT64_T->add_f();//MPI_LOGICAL8
- MPI_2FLOAT->add_f();//MPI_2REAL
- MPI_2DOUBLE->add_f();//MPI_2DOUBLE_PRECISION
- MPI_PTR->add_f();//MPI_AINT
- MPI_OFFSET->add_f();//MPI_OFFSET
- MPI_AINT->add_f();//MPI_COUNT
- MPI_REAL16->add_f();//MPI_REAL16
- MPI_PACKED->add_f();//MPI_PACKED
-
- MPI_MAX->add_f();
- MPI_MIN->add_f();
- MPI_MAXLOC->add_f();
- MPI_MINLOC->add_f();
- MPI_SUM->add_f();
- MPI_PROD->add_f();
- MPI_LAND->add_f();
- MPI_LOR->add_f();
- MPI_LXOR->add_f();
- MPI_BAND->add_f();
- MPI_BOR->add_f();
- MPI_BXOR->add_f();
- }
+void smpi_init_fortran_types()
+{
+ if (simgrid::smpi::F2C::lookup() == nullptr) {
+ MPI_COMM_WORLD->add_f();
+ MPI_BYTE->add_f(); // MPI_BYTE
+ MPI_CHAR->add_f(); // MPI_CHARACTER
+ if (sizeof(void*) == 8) {
+ MPI_C_BOOL->add_f(); // MPI_LOGICAL
+ MPI_INT->add_f(); // MPI_INTEGER
+ } else {
+ MPI_C_BOOL->add_f(); // MPI_LOGICAL
+ MPI_LONG->add_f(); // MPI_INTEGER
+ }
+ MPI_INT8_T->add_f(); // MPI_INTEGER1
+ MPI_INT16_T->add_f(); // MPI_INTEGER2
+ MPI_INT32_T->add_f(); // MPI_INTEGER4
+ MPI_INT64_T->add_f(); // MPI_INTEGER8
+ MPI_REAL->add_f(); // MPI_REAL
+ MPI_REAL4->add_f(); // MPI_REAL4
+ MPI_REAL8->add_f(); // MPI_REAL8
+ MPI_DOUBLE->add_f(); // MPI_DOUBLE_PRECISION
+ MPI_COMPLEX8->add_f(); // MPI_COMPLEX
+ MPI_COMPLEX16->add_f(); // MPI_DOUBLE_COMPLEX
+ if (sizeof(void*) == 8)
+ MPI_2INT->add_f(); // MPI_2INTEGER
+ else
+ MPI_2LONG->add_f(); // MPI_2INTEGER
+ MPI_UINT8_T->add_f(); // MPI_LOGICAL1
+ MPI_UINT16_T->add_f(); // MPI_LOGICAL2
+ MPI_UINT32_T->add_f(); // MPI_LOGICAL4
+ MPI_UINT64_T->add_f(); // MPI_LOGICAL8
+ MPI_2FLOAT->add_f(); // MPI_2REAL
+ MPI_2DOUBLE->add_f(); // MPI_2DOUBLE_PRECISION
+ MPI_PTR->add_f(); // MPI_AINT
+ MPI_OFFSET->add_f(); // MPI_OFFSET
+ MPI_AINT->add_f(); // MPI_COUNT
+ MPI_REAL16->add_f(); // MPI_REAL16
+ MPI_PACKED->add_f(); // MPI_PACKED
+ MPI_COMPLEX8->add_f(); // MPI_COMPLEX8
+ MPI_COMPLEX16->add_f(); // MPI_COMPLEX16
+ MPI_COMPLEX32->add_f(); // MPI_COMPLEX32
+
+ MPI_MAX->add_f();
+ MPI_MIN->add_f();
+ MPI_MAXLOC->add_f();
+ MPI_MINLOC->add_f();
+ MPI_SUM->add_f();
+ MPI_PROD->add_f();
+ MPI_LAND->add_f();
+ MPI_LOR->add_f();
+ MPI_LXOR->add_f();
+ MPI_BAND->add_f();
+ MPI_BOR->add_f();
+ MPI_BXOR->add_f();
+
+ MPI_ERRORS_RETURN->add_f();
+ MPI_ERRORS_ARE_FATAL->add_f();
+
+ MPI_LB->add_f();
+ MPI_UB->add_f();
+ }