@@ -845,11 +845,9 @@ int MPI_Info_create_env(int argc, char *argv[], MPI_Info *info);
845
845
int MPI_Info_delete (MPI_Info info , const char * key );
846
846
int MPI_Info_dup (MPI_Info info , MPI_Info * newinfo );
847
847
int 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 */
849
848
int MPI_Info_get_nkeys (MPI_Info info , int * nkeys );
850
849
int MPI_Info_get_nthkey (MPI_Info info , int n , char * key );
851
850
int 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 */
853
851
int MPI_Info_set (MPI_Info info , const char * key , const char * value );
854
852
int MPI_Init (int * argc , char * * * argv );
855
853
int 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);
1501
1499
int PMPI_Info_delete (MPI_Info info , const char * key );
1502
1500
int PMPI_Info_dup (MPI_Info info , MPI_Info * newinfo );
1503
1501
int PMPI_Info_free (MPI_Info * info );
1504
- int PMPI_Info_get (MPI_Info info , const char * key , int valuelen , char * value , int * flag );
1505
1502
int PMPI_Info_get_nkeys (MPI_Info info , int * nkeys );
1506
1503
int PMPI_Info_get_nthkey (MPI_Info info , int n , char * key );
1507
1504
int 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 );
1509
1505
int PMPI_Info_set (MPI_Info info , const char * key , const char * value );
1510
1506
int PMPI_Init (int * argc , char * * * argv );
1511
1507
int 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);
1868
1864
1869
1865
/* Backward-compatibility MPI API definitions for MPI ABI removals */
1870
1866
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
+
1871
1875
/* MPI deprecated types and constants */
1872
1876
#define MPI_Copy_function MPI_Comm_copy_attr_function
1873
1877
#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);
1887
1891
#define MPI_Type_get_true_extent_x MPI_Type_get_true_extent_c
1888
1892
#define MPI_Type_size_x MPI_Type_size_c
1889
1893
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
+
1890
1906
/* PMPI deprecated functions */
1891
1907
#define PMPI_Attr_delete PMPI_Comm_delete_attr
1892
1908
#define PMPI_Attr_get PMPI_Comm_get_attr
@@ -1899,6 +1915,18 @@ int PMPI_T_source_get_timestamp(int source_index, MPI_Count *timestamp);
1899
1915
#define PMPI_Type_get_true_extent_x PMPI_Type_get_true_extent_c
1900
1916
#define PMPI_Type_size_x PMPI_Type_size_c
1901
1917
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
+
1902
1930
#if defined(__cplusplus )
1903
1931
}
1904
1932
#endif
0 commit comments