@@ -333,6 +333,75 @@ __opal_attribute_always_inline__ static inline MPI_Datatype ompi_convert_abi_dat
333333 return MPI_SHORT_INT ;
334334 } else if (MPI_LONG_DOUBLE_INT_ABI_INTERNAL == datatype ) {
335335 return MPI_LONG_DOUBLE_INT ;
336+ } else if (MPI_LOGICAL_ABI_INTERNAL == datatype ) {
337+ return MPI_LOGICAL ;
338+ } else if (MPI_INTEGER_ABI_INTERNAL == datatype ) {
339+ return MPI_INTEGER ;
340+ } else if (MPI_REAL_ABI_INTERNAL == datatype ) {
341+ return MPI_REAL ;
342+ } else if (MPI_COMPLEX_ABI_INTERNAL == datatype ) {
343+ return MPI_COMPLEX ;
344+ } else if (MPI_DOUBLE_PRECISION_ABI_INTERNAL == datatype ) {
345+ return MPI_DOUBLE_PRECISION ;
346+ } else if (MPI_CHARACTER_ABI_INTERNAL == datatype ) {
347+ return MPI_CHARACTER ;
348+ } else if (MPI_DOUBLE_COMPLEX_ABI_INTERNAL == datatype ) {
349+ return MPI_DOUBLE_COMPLEX ;
350+ #if OMPI_BUILD_FORTRAN_BINDINGS
351+ } else if (MPI_LOGICAL1_ABI_INTERNAL == datatype ) {
352+ return MPI_LOGICAL1 ;
353+ } else if (MPI_LOGICAL2_ABI_INTERNAL == datatype ) {
354+ return MPI_LOGICAL2 ;
355+ } else if (MPI_LOGICAL4_ABI_INTERNAL == datatype ) {
356+ return MPI_LOGICAL4 ;
357+ } else if (MPI_LOGICAL8_ABI_INTERNAL == datatype ) {
358+ return MPI_LOGICAL8 ;
359+ #if 0
360+ /* TODO: need to add in a LOGICAL16 test */
361+ #if OMPI_HAVE_FORTRAN_LOGICAL16
362+ } else if (MPI_LOGICAL16 == datatype ) {
363+ return MPI_LOGICAL16_ABI_INTERNAL ;
364+ #endif
365+ #endif
366+ } else if (MPI_INTEGER1_ABI_INTERNAL == datatype ) {
367+ return MPI_INTEGER1 ;
368+ } else if (MPI_INTEGER2_ABI_INTERNAL == datatype ) {
369+ return MPI_INTEGER2 ;
370+ } else if (MPI_INTEGER4_ABI_INTERNAL == datatype ) {
371+ return MPI_INTEGER4 ;
372+ } else if (MPI_INTEGER8_ABI_INTERNAL == datatype ) {
373+ return MPI_INTEGER8 ;
374+ } else if (MPI_INTEGER16_ABI_INTERNAL == datatype ) {
375+ #if OMPI_HAVE_FORTRAN_INTEGER16
376+ return MPI_INTEGER16 ;
377+ #else
378+ return MPI_DATATYPE_NULL ;
379+ #endif
380+ } else if (MPI_REAL2_ABI_INTERNAL == datatype ) {
381+ #if OMPI_HAVE_FORTRAN_REAL2
382+ return MPI_REAL2 ;
383+ #else
384+ return MPI_DATATYPE_NULL ;
385+ #endif
386+ } else if (MPI_REAL4_ABI_INTERNAL == datatype ) {
387+ return MPI_REAL4 ;
388+ } else if (MPI_REAL8_ABI_INTERNAL == datatype ) {
389+ return MPI_REAL8 ;
390+ } else if (MPI_REAL16_ABI_INTERNAL == datatype ) {
391+ return MPI_REAL16 ;
392+ } else if (MPI_COMPLEX4_ABI_INTERNAL == datatype ) {
393+ #if OMPI_HAVE_FORTRAN_COMPLEX4
394+ return MPI_COMPLEX4 ;
395+ #else
396+ return MPI_DATATYPE_NULL ;
397+ #endif
398+ } else if (MPI_COMPLEX8_ABI_INTERNAL == datatype ) {
399+ return MPI_COMPLEX8 ;
400+ } else if (MPI_COMPLEX16_ABI_INTERNAL == datatype ) {
401+ return MPI_COMPLEX16 ;
402+ } else if (MPI_COMPLEX32_ABI_INTERNAL == datatype ) {
403+ return MPI_COMPLEX32 ;
404+ #endif /* OMPI_BUILD_FORTRAN_BINDINGS */
336405 }
337406 return (MPI_Datatype ) datatype ;
338407}
@@ -426,6 +495,69 @@ __opal_attribute_always_inline__ static inline MPI_Datatype_ABI_INTERNAL ompi_co
426495 return MPI_SHORT_INT_ABI_INTERNAL ;
427496 } else if (MPI_LONG_DOUBLE_INT == datatype ) {
428497 return MPI_LONG_DOUBLE_INT_ABI_INTERNAL ;
498+ } else if (MPI_LOGICAL == datatype ) {
499+ return MPI_LOGICAL_ABI_INTERNAL ;
500+ } else if (MPI_INTEGER == datatype ) {
501+ return MPI_INTEGER_ABI_INTERNAL ;
502+ } else if (MPI_REAL == datatype ) {
503+ return MPI_REAL_ABI_INTERNAL ;
504+ } else if (MPI_COMPLEX == datatype ) {
505+ return MPI_COMPLEX_ABI_INTERNAL ;
506+ } else if (MPI_DOUBLE_PRECISION == datatype ) {
507+ return MPI_DOUBLE_PRECISION_ABI_INTERNAL ;
508+ } else if (MPI_CHARACTER == datatype ) {
509+ return MPI_CHARACTER_ABI_INTERNAL ;
510+ } else if (MPI_DOUBLE_COMPLEX == datatype ) {
511+ return MPI_DOUBLE_COMPLEX_ABI_INTERNAL ;
512+ #if OMPI_BUILD_FORTRAN_BINDINGS
513+ } else if (MPI_LOGICAL1 == datatype ) {
514+ return MPI_LOGICAL1_ABI_INTERNAL ;
515+ } else if (MPI_LOGICAL2 == datatype ) {
516+ return MPI_LOGICAL2_ABI_INTERNAL ;
517+ } else if (MPI_LOGICAL4 == datatype ) {
518+ return MPI_LOGICAL4_ABI_INTERNAL ;
519+ } else if (MPI_LOGICAL8 == datatype ) {
520+ return MPI_LOGICAL8_ABI_INTERNAL ;
521+ #if 0
522+ /* TODO: need to add in a LOGICAL16 test */
523+ #if OMPI_HAVE_FORTRAN_LOGICAL16
524+ } else if (MPI_LOGICAL16 == datatype ) {
525+ return MPI_LOGICAL16_ABI_INTERNAL ;
526+ #endif
527+ #endif
528+ } else if (MPI_INTEGER1 == datatype ) {
529+ return MPI_INTEGER1_ABI_INTERNAL ;
530+ } else if (MPI_INTEGER2 == datatype ) {
531+ return MPI_INTEGER2_ABI_INTERNAL ;
532+ } else if (MPI_INTEGER4 == datatype ) {
533+ return MPI_INTEGER4_ABI_INTERNAL ;
534+ } else if (MPI_INTEGER8 == datatype ) {
535+ return MPI_INTEGER8_ABI_INTERNAL ;
536+ #if OMPI_HAVE_FORTRAN_INTEGER16
537+ } else if (MPI_INTEGER16 == datatype ) {
538+ return MPI_INTEGER16_ABI_INTERNAL ;
539+ #endif
540+ #if OMPI_HAVE_FORTRAN_REAL2
541+ } else if (MPI_REAL2 == datatype ) {
542+ return MPI_REAL2_ABI_INTERNAL ;
543+ #endif
544+ } else if (MPI_REAL4 == datatype ) {
545+ return MPI_REAL4_ABI_INTERNAL ;
546+ } else if (MPI_REAL8 == datatype ) {
547+ return MPI_REAL8_ABI_INTERNAL ;
548+ } else if (MPI_REAL16 == datatype ) {
549+ return MPI_REAL16_ABI_INTERNAL ;
550+ #if OMPI_HAVE_FORTRAN_COMPLEX4
551+ } else if (MPI_COMPLEX4 == datatype ) {
552+ return MPI_COMPLEX4_ABI_INTERNAL ;
553+ #endif
554+ } else if (MPI_COMPLEX8 == datatype ) {
555+ return MPI_COMPLEX8_ABI_INTERNAL ;
556+ } else if (MPI_COMPLEX16 == datatype ) {
557+ return MPI_COMPLEX16_ABI_INTERNAL ;
558+ } else if (MPI_COMPLEX32 == datatype ) {
559+ return MPI_COMPLEX32_ABI_INTERNAL ;
560+ #endif /* OMPI_BUILD_FORTRAN_BINDINGS */
429561 }
430562 return (MPI_Datatype_ABI_INTERNAL ) datatype ;
431563}
0 commit comments