You're absolutely right -- this is another logical type that we missed.

This has now been fixed on both the trunk and the v1.1 branch; should be
in tomorrow's snapshots.

Thanks!


> -----Original Message-----
> From: users-boun...@open-mpi.org 
> [mailto:users-boun...@open-mpi.org] On Behalf Of Michael Kluskens
> Sent: Sunday, April 30, 2006 12:17 PM
> To: Open MPI Users
> Subject: [OMPI users] MPI_Intercomm_Merge -- Fortran
> 
> MPI_Intercomm_Merge( intercomm, high, newintracomm, ier )
> 
> None of the books I have state the variable type of the second  
> argument for MPI_Intercomm_Merge for Fortran.  Class notes I have  
> from David Cronk state it is a Logical.
> 
> In C it is an "int" with values of true and false.
> 
> Looking at OpenMPI 1.1a4r9780 (& openmpi-1.2a1r9780)  I find the  
> following:
> 
> ./ompi/mpi/f77/intercomm_merge_f.c:
> 
> OMPI_GENERATE_F77_BINDINGS (PMPI_INTERCOMM_MERGE,
>                             pmpi_intercomm_merge,
>                             pmpi_intercomm_merge_,
>                             pmpi_intercomm_merge__,
>                             pmpi_intercomm_merge_f,
>                             (MPI_Fint *intercomm, 
> MPI_Flogical *high,  
> MPI_Fint *newintercomm, MPI_Fint *ierr),
>                             (intercomm, high, newintercomm, ierr) )
> 
> and
> 
>      *ierr = MPI_Intercomm_merge (c_intercomm, OMPI_LOGICAL_2_INT 
> (*high),
>                                   &c_newcomm);
> 
> This implies to me that in Fortran the second argument should be a  
> logical which makes sense.
> 
> 
> But in ./ompi/mpi/f90/mpi-f90-interfaces.h, I find:
> -------------
> interface MPI_Intercomm_merge
> 
> subroutine MPI_Intercomm_merge(intercomm, high, newintercomm, ierr)
>    include 'mpif.h'
>    integer, intent(in) :: intercomm
>    integer, intent(in) :: high
>    integer, intent(out) :: newintercomm
>    integer, intent(out) :: ierr
> end subroutine MPI_Intercomm_merge
> 
> end interface MPI_Intercomm_merge
> -------------
> which I suspect is wrong or at least incomplete with regards to the  
> second argument.
> 
> In which case the problem is also in ./ompi/mpi/f90/scripts/mpi-f90- 
> interfaces.h.sh
> ----------
> subroutine ${procedure}(intercomm, high, newintercomm, ierr)
>    include 'mpif.h'
>    integer, intent(in) :: intercomm
>    integer, intent(in) :: high
>    integer, intent(out) :: newintercomm
>    integer, intent(out) :: ierr
> end subroutine ${procedure}
> 
> EOF
> }
> 
> start MPI_Intercomm_merge small
> output_162 MPI_Intercomm_merge
> end MPI_Intercomm_merge
> -------------
> 
> Michael
> 
> ps. MPI_Comm_get_attr is fixed in both these versions.
> 
> _______________________________________________
> users mailing list
> us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users
> 

Reply via email to