Skip to content

Commit 178dde6

Browse files
committed
fortran/mpif-h: fix MPI_Win_shared_query
correctly handle out parameter disp_unit when OMPI_SIZEOF_FORTRAN_INTEGER > SIZEOF_INT
1 parent 529ab55 commit 178dde6

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

ompi/mpi/fortran/mpif-h/win_shared_query_f.c

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
* Copyright (c) 2004-2005 The Regents of the University of California.
1111
* All rights reserved.
1212
* Copyright (c) 2011-2014 Cisco Systems, Inc. All rights reserved.
13-
* Copyright (c) 2015 Research Organization for Information Science
13+
* Copyright (c) 2015-2016 Research Organization for Information Science
1414
* and Technology (RIST). All rights reserved.
1515
* $COPYRIGHT$
1616
*
@@ -113,12 +113,17 @@ void ompi_win_shared_query_f(MPI_Fint *win, MPI_Fint *rank, MPI_Aint *size,
113113
{
114114
int c_ierr;
115115
MPI_Win c_win;
116+
OMPI_SINGLE_NAME_DECL(disp_unit);
116117

117118
c_win = PMPI_Win_f2c(*win);
118119

119120
c_ierr = PMPI_Win_shared_query(c_win, OMPI_FINT_2_INT(*rank), size,
120-
OMPI_FINT_2_INT(disp_unit), baseptr);
121+
OMPI_SINGLE_NAME_CONVERT(disp_unit), baseptr);
121122
if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr);
123+
124+
if (MPI_SUCCESS == c_ierr) {
125+
OMPI_SINGLE_INT_2_FINT(disp_unit);
126+
}
122127
}
123128

124129
/*

0 commit comments

Comments
 (0)