@@ -845,11 +845,9 @@ int MPI_Info_create_env(int argc, char *argv[], MPI_Info *info);
845845int MPI_Info_delete (MPI_Info info , const char * key );
846846int MPI_Info_dup (MPI_Info info , MPI_Info * newinfo );
847847int MPI_Info_free (MPI_Info * info );
848- int MPI_Info_get (MPI_Info info , const char * key , int valuelen , char * value , int * flag ); /* deprecated: MPI-4.0 */
849848int MPI_Info_get_nkeys (MPI_Info info , int * nkeys );
850849int MPI_Info_get_nthkey (MPI_Info info , int n , char * key );
851850int MPI_Info_get_string (MPI_Info info , const char * key , int * buflen , char * value , int * flag );
852- int MPI_Info_get_valuelen (MPI_Info info , const char * key , int * valuelen , int * flag ); /* deprecated: MPI-4.0 */
853851int MPI_Info_set (MPI_Info info , const char * key , const char * value );
854852int MPI_Init (int * argc , char * * * argv );
855853int MPI_Init_thread (int * argc , char * * * argv , int required , int * provided );
@@ -1501,11 +1499,9 @@ int PMPI_Info_create_env(int argc, char *argv[], MPI_Info *info);
15011499int PMPI_Info_delete (MPI_Info info , const char * key );
15021500int PMPI_Info_dup (MPI_Info info , MPI_Info * newinfo );
15031501int PMPI_Info_free (MPI_Info * info );
1504- int PMPI_Info_get (MPI_Info info , const char * key , int valuelen , char * value , int * flag );
15051502int PMPI_Info_get_nkeys (MPI_Info info , int * nkeys );
15061503int PMPI_Info_get_nthkey (MPI_Info info , int n , char * key );
15071504int PMPI_Info_get_string (MPI_Info info , const char * key , int * buflen , char * value , int * flag );
1508- int PMPI_Info_get_valuelen (MPI_Info info , const char * key , int * valuelen , int * flag );
15091505int PMPI_Info_set (MPI_Info info , const char * key , const char * value );
15101506int PMPI_Init (int * argc , char * * * argv );
15111507int PMPI_Init_thread (int * argc , char * * * argv , int required , int * provided );
@@ -1868,6 +1864,14 @@ int PMPI_T_source_get_timestamp(int source_index, MPI_Count *timestamp);
18681864
18691865/* Backward-compatibility MPI API definitions for MPI ABI removals */
18701866
1867+ #if !defined(MPI_ABI_static_inline )
1868+ # if (defined(__STDC_VERSION__ ) && __STDC_VERSION__ >= 199901L ) || defined(__cplusplus )
1869+ # define MPI_ABI_static_inline static inline
1870+ # else
1871+ # define MPI_ABI_static_inline static __inline
1872+ # endif
1873+ #endif
1874+
18711875/* MPI deprecated types and constants */
18721876#define MPI_Copy_function MPI_Comm_copy_attr_function
18731877#define MPI_Delete_function MPI_Comm_delete_attr_function
@@ -1887,6 +1891,18 @@ int PMPI_T_source_get_timestamp(int source_index, MPI_Count *timestamp);
18871891#define MPI_Type_get_true_extent_x MPI_Type_get_true_extent_c
18881892#define MPI_Type_size_x MPI_Type_size_c
18891893
1894+ 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 ) {
1895+ int MPI_buflen = MPI_valuelen + 1 ;
1896+ return MPI_Info_get_string (MPI_info , MPI_key , & MPI_buflen , MPI_value , MPI_flag );
1897+ }
1898+
1899+ MPI_ABI_static_inline int MPI_Info_get_valuelen (MPI_Info MPI_info , const char * MPI_key , int * MPI_valuelen , int * MPI_flag ) {
1900+ int MPI_ierr ; int MPI_buflen = 0 ; char MPI_value [1 ] = {0 };
1901+ MPI_ierr = MPI_Info_get_string (MPI_info , MPI_key , MPI_valuelen ? & MPI_buflen : MPI_valuelen , MPI_value , MPI_flag );
1902+ if (MPI_ierr == MPI_SUCCESS && MPI_valuelen ) * MPI_valuelen = MPI_buflen - 1 ;
1903+ return MPI_ierr ;
1904+ }
1905+
18901906/* PMPI deprecated functions */
18911907#define PMPI_Attr_delete PMPI_Comm_delete_attr
18921908#define PMPI_Attr_get PMPI_Comm_get_attr
@@ -1899,6 +1915,18 @@ int PMPI_T_source_get_timestamp(int source_index, MPI_Count *timestamp);
18991915#define PMPI_Type_get_true_extent_x PMPI_Type_get_true_extent_c
19001916#define PMPI_Type_size_x PMPI_Type_size_c
19011917
1918+ 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 ) {
1919+ int MPI_buflen = MPI_valuelen + 1 ;
1920+ return PMPI_Info_get_string (MPI_info , MPI_key , & MPI_buflen , MPI_value , MPI_flag );
1921+ }
1922+
1923+ MPI_ABI_static_inline int PMPI_Info_get_valuelen (MPI_Info MPI_info , const char * MPI_key , int * MPI_valuelen , int * MPI_flag ) {
1924+ int MPI_ierr ; int MPI_buflen = 0 ; char MPI_value [1 ] = {0 };
1925+ MPI_ierr = PMPI_Info_get_string (MPI_info , MPI_key , MPI_valuelen ? & MPI_buflen : MPI_valuelen , MPI_value , MPI_flag );
1926+ if (MPI_ierr == MPI_SUCCESS && MPI_valuelen ) * MPI_valuelen = MPI_buflen - 1 ;
1927+ return MPI_ierr ;
1928+ }
1929+
19021930#if defined(__cplusplus )
19031931 }
19041932#endif
0 commit comments