Fixes trac:732.
The 2nd parameter in MPI_WIN_CREATE is actually an address integer, not a regular integer. The F77 prototype for this function was wrong, causing Bad Things on some 64 bit platforms (on other 64 bit platforms, we just got lucky). This commit was SVN r13133. The following Trac tickets were found above: Ticket 732 --> https://svn.open-mpi.org/trac/ompi/ticket/732
Этот коммит содержится в:
родитель
3a07982ae7
Коммит
fbeaf0919d
@ -9,7 +9,7 @@
|
|||||||
* University of Stuttgart. All rights reserved.
|
* University of Stuttgart. All rights reserved.
|
||||||
* Copyright (c) 2004-2005 The Regents of the University of California.
|
* Copyright (c) 2004-2005 The Regents of the University of California.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
* Copyright (c) 2006 Cisco Systems, Inc. All rights reserved.
|
* Copyright (c) 2006-2007 Cisco Systems, Inc. All rights reserved.
|
||||||
* $COPYRIGHT$
|
* $COPYRIGHT$
|
||||||
*
|
*
|
||||||
* Additional copyrights may follow
|
* Additional copyrights may follow
|
||||||
@ -318,7 +318,7 @@ PN(void, mpi_wait, MPI_WAIT, (MPI_Fint *request, MPI_Fint *status, MPI_Fint *ier
|
|||||||
PN(void, mpi_waitsome, MPI_WAITSOME, (MPI_Fint *incount, MPI_Fint *array_of_requests, MPI_Fint *outcount, MPI_Fint *array_of_indices, MPI_Fint *array_of_statuses, MPI_Fint *ierr));
|
PN(void, mpi_waitsome, MPI_WAITSOME, (MPI_Fint *incount, MPI_Fint *array_of_requests, MPI_Fint *outcount, MPI_Fint *array_of_indices, MPI_Fint *array_of_statuses, MPI_Fint *ierr));
|
||||||
PN(void, mpi_win_call_errhandler, MPI_WIN_CALL_ERRHANDLER, (MPI_Fint *win, MPI_Fint *errorcode, MPI_Fint *ierr));
|
PN(void, mpi_win_call_errhandler, MPI_WIN_CALL_ERRHANDLER, (MPI_Fint *win, MPI_Fint *errorcode, MPI_Fint *ierr));
|
||||||
PN(void, mpi_win_complete, MPI_WIN_COMPLETE, (MPI_Fint *win, MPI_Fint *ierr));
|
PN(void, mpi_win_complete, MPI_WIN_COMPLETE, (MPI_Fint *win, MPI_Fint *ierr));
|
||||||
PN(void, mpi_win_create, MPI_WIN_CREATE, (char *base, MPI_Fint *size, MPI_Fint *disp_unit, MPI_Fint *info, MPI_Fint *comm, MPI_Fint *win, MPI_Fint *ierr));
|
PN(void, mpi_win_create, MPI_WIN_CREATE, (char *base, MPI_Aint *size, MPI_Fint *disp_unit, MPI_Fint *info, MPI_Fint *comm, MPI_Fint *win, MPI_Fint *ierr));
|
||||||
PN(void, mpi_win_create_errhandler, MPI_WIN_CREATE_ERRHANDLER, (ompi_errhandler_fortran_handler_fn_t* function, MPI_Fint *errhandler, MPI_Fint *ierr));
|
PN(void, mpi_win_create_errhandler, MPI_WIN_CREATE_ERRHANDLER, (ompi_errhandler_fortran_handler_fn_t* function, MPI_Fint *errhandler, MPI_Fint *ierr));
|
||||||
PN(void, mpi_win_create_keyval, MPI_WIN_CREATE_KEYVAL, (ompi_mpi2_fortran_copy_attr_function* win_copy_attr_fn, ompi_mpi2_fortran_delete_attr_function* win_delete_attr_fn, MPI_Fint *win_keyval, MPI_Fint *extra_state, MPI_Fint *ierr));
|
PN(void, mpi_win_create_keyval, MPI_WIN_CREATE_KEYVAL, (ompi_mpi2_fortran_copy_attr_function* win_copy_attr_fn, ompi_mpi2_fortran_delete_attr_function* win_delete_attr_fn, MPI_Fint *win_keyval, MPI_Fint *extra_state, MPI_Fint *ierr));
|
||||||
PN(void, mpi_win_delete_attr, MPI_WIN_DELETE_ATTR, (MPI_Fint *win, MPI_Fint *win_keyval, MPI_Fint *ierr));
|
PN(void, mpi_win_delete_attr, MPI_WIN_DELETE_ATTR, (MPI_Fint *win, MPI_Fint *win_keyval, MPI_Fint *ierr));
|
||||||
|
@ -9,6 +9,7 @@
|
|||||||
* University of Stuttgart. All rights reserved.
|
* University of Stuttgart. All rights reserved.
|
||||||
* Copyright (c) 2004-2005 The Regents of the University of California.
|
* Copyright (c) 2004-2005 The Regents of the University of California.
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
|
* Copyright (c) 2007 Cisco Systems, Inc. All rights reserved.
|
||||||
* $COPYRIGHT$
|
* $COPYRIGHT$
|
||||||
*
|
*
|
||||||
* Additional copyrights may follow
|
* Additional copyrights may follow
|
||||||
@ -31,7 +32,7 @@ OMPI_GENERATE_F77_BINDINGS (PMPI_WIN_CREATE,
|
|||||||
pmpi_win_create_,
|
pmpi_win_create_,
|
||||||
pmpi_win_create__,
|
pmpi_win_create__,
|
||||||
pmpi_win_create_f,
|
pmpi_win_create_f,
|
||||||
(char *base, MPI_Fint *size, MPI_Fint *disp_unit, MPI_Fint *info, MPI_Fint *comm, MPI_Fint *win, MPI_Fint *ierr),
|
(char *base, MPI_Aint *size, MPI_Fint *disp_unit, MPI_Fint *info, MPI_Fint *comm, MPI_Fint *win, MPI_Fint *ierr),
|
||||||
(base, size, disp_unit, info, comm, win, ierr) )
|
(base, size, disp_unit, info, comm, win, ierr) )
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -48,7 +49,7 @@ OMPI_GENERATE_F77_BINDINGS (MPI_WIN_CREATE,
|
|||||||
mpi_win_create_,
|
mpi_win_create_,
|
||||||
mpi_win_create__,
|
mpi_win_create__,
|
||||||
mpi_win_create_f,
|
mpi_win_create_f,
|
||||||
(char *base, MPI_Fint *size, MPI_Fint *disp_unit, MPI_Fint *info, MPI_Fint *comm, MPI_Fint *win, MPI_Fint *ierr),
|
(char *base, MPI_Aint *size, MPI_Fint *disp_unit, MPI_Fint *info, MPI_Fint *comm, MPI_Fint *win, MPI_Fint *ierr),
|
||||||
(base, size, disp_unit, info, comm, win, ierr) )
|
(base, size, disp_unit, info, comm, win, ierr) )
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -57,7 +58,7 @@ OMPI_GENERATE_F77_BINDINGS (MPI_WIN_CREATE,
|
|||||||
#include "ompi/mpi/f77/profile/defines.h"
|
#include "ompi/mpi/f77/profile/defines.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void mpi_win_create_f(char *base, MPI_Fint *size, MPI_Fint *disp_unit,
|
void mpi_win_create_f(char *base, MPI_Aint *size, MPI_Fint *disp_unit,
|
||||||
MPI_Fint *info, MPI_Fint *comm, MPI_Fint *win,
|
MPI_Fint *info, MPI_Fint *comm, MPI_Fint *win,
|
||||||
MPI_Fint *ierr)
|
MPI_Fint *ierr)
|
||||||
{
|
{
|
||||||
|
Загрузка…
Ссылка в новой задаче
Block a user