@@ -865,11 +865,9 @@ int MPI_Info_create_env(int argc, char *argv[], MPI_Info *info);
865865int MPI_Info_delete (MPI_Info info , const char * key );
866866int MPI_Info_dup (MPI_Info info , MPI_Info * newinfo );
867867int MPI_Info_free (MPI_Info * info );
868- int MPI_Info_get (MPI_Info info , const char * key , int valuelen , char * value , int * flag ); /* deprecated: MPI-4.0 */
869868int MPI_Info_get_nkeys (MPI_Info info , int * nkeys );
870869int MPI_Info_get_nthkey (MPI_Info info , int n , char * key );
871870int MPI_Info_get_string (MPI_Info info , const char * key , int * buflen , char * value , int * flag );
872- int MPI_Info_get_valuelen (MPI_Info info , const char * key , int * valuelen , int * flag ); /* deprecated: MPI-4.0 */
873871int MPI_Info_set (MPI_Info info , const char * key , const char * value );
874872int MPI_Init (int * argc , char * * * argv );
875873int MPI_Init_thread (int * argc , char * * * argv , int required , int * provided );
@@ -1523,11 +1521,9 @@ int PMPI_Info_create_env(int argc, char *argv[], MPI_Info *info);
15231521int PMPI_Info_delete (MPI_Info info , const char * key );
15241522int PMPI_Info_dup (MPI_Info info , MPI_Info * newinfo );
15251523int PMPI_Info_free (MPI_Info * info );
1526- int PMPI_Info_get (MPI_Info info , const char * key , int valuelen , char * value , int * flag );
15271524int PMPI_Info_get_nkeys (MPI_Info info , int * nkeys );
15281525int PMPI_Info_get_nthkey (MPI_Info info , int n , char * key );
15291526int PMPI_Info_get_string (MPI_Info info , const char * key , int * buflen , char * value , int * flag );
1530- int PMPI_Info_get_valuelen (MPI_Info info , const char * key , int * valuelen , int * flag );
15311527int PMPI_Info_set (MPI_Info info , const char * key , const char * value );
15321528int PMPI_Init (int * argc , char * * * argv );
15331529int PMPI_Init_thread (int * argc , char * * * argv , int required , int * provided );
@@ -1894,6 +1890,14 @@ int PMPI_T_source_get_timestamp(int source_index, MPI_Count *timestamp);
18941890
18951891/* Backward-compatibility MPI API definitions for MPI ABI removals */
18961892
1893+ #if !defined(MPI_ABI_static_inline )
1894+ # if (defined(__STDC_VERSION__ ) && __STDC_VERSION__ >= 199901L ) || defined(__cplusplus )
1895+ # define MPI_ABI_static_inline static inline
1896+ # else
1897+ # define MPI_ABI_static_inline static __inline
1898+ # endif
1899+ #endif
1900+
18971901/* MPI deprecated types and constants */
18981902#define MPI_Copy_function MPI_Comm_copy_attr_function
18991903#define MPI_Delete_function MPI_Comm_delete_attr_function
@@ -1913,6 +1917,18 @@ int PMPI_T_source_get_timestamp(int source_index, MPI_Count *timestamp);
19131917#define MPI_Type_get_true_extent_x MPI_Type_get_true_extent_c
19141918#define MPI_Type_size_x MPI_Type_size_c
19151919
1920+ MPI_ABI_static_inline int MPI_Info_get (MPI_Info MPI_info , const char * MPI_key , int MPI_valuelen , char * MPI_value , int * MPI_flag ) {
1921+ int MPI_buflen = MPI_valuelen + 1 ;
1922+ return MPI_Info_get_string (MPI_info , MPI_key , & MPI_buflen , MPI_value , MPI_flag );
1923+ }
1924+
1925+ MPI_ABI_static_inline int MPI_Info_get_valuelen (MPI_Info MPI_info , const char * MPI_key , int * MPI_valuelen , int * MPI_flag ) {
1926+ int MPI_ierr ; int MPI_buflen = 0 ; char MPI_value [1 ] = {0 };
1927+ MPI_ierr = MPI_Info_get_string (MPI_info , MPI_key , MPI_valuelen ? & MPI_buflen : MPI_valuelen , MPI_value , MPI_flag );
1928+ if (MPI_ierr == MPI_SUCCESS && MPI_valuelen ) * MPI_valuelen = MPI_buflen - 1 ;
1929+ return MPI_ierr ;
1930+ }
1931+
19161932/* PMPI deprecated functions */
19171933#define PMPI_Attr_delete PMPI_Comm_delete_attr
19181934#define PMPI_Attr_get PMPI_Comm_get_attr
@@ -1925,6 +1941,18 @@ int PMPI_T_source_get_timestamp(int source_index, MPI_Count *timestamp);
19251941#define PMPI_Type_get_true_extent_x PMPI_Type_get_true_extent_c
19261942#define PMPI_Type_size_x PMPI_Type_size_c
19271943
1944+ MPI_ABI_static_inline int PMPI_Info_get (MPI_Info MPI_info , const char * MPI_key , int MPI_valuelen , char * MPI_value , int * MPI_flag ) {
1945+ int MPI_buflen = MPI_valuelen + 1 ;
1946+ return PMPI_Info_get_string (MPI_info , MPI_key , & MPI_buflen , MPI_value , MPI_flag );
1947+ }
1948+
1949+ MPI_ABI_static_inline int PMPI_Info_get_valuelen (MPI_Info MPI_info , const char * MPI_key , int * MPI_valuelen , int * MPI_flag ) {
1950+ int MPI_ierr ; int MPI_buflen = 0 ; char MPI_value [1 ] = {0 };
1951+ MPI_ierr = PMPI_Info_get_string (MPI_info , MPI_key , MPI_valuelen ? & MPI_buflen : MPI_valuelen , MPI_value , MPI_flag );
1952+ if (MPI_ierr == MPI_SUCCESS && MPI_valuelen ) * MPI_valuelen = MPI_buflen - 1 ;
1953+ return MPI_ierr ;
1954+ }
1955+
19281956#if defined(__cplusplus )
19291957 }
19301958#endif
0 commit comments