The file 'ompi/mpi/f90/mpi-f90-interfaces.h' is automatically generated by ompi/mpi/f90/scripts/mpi-f90-interfaces.h.sh? I couldn't get my temp fix to stick so I modified the latter.

Should be?

----------------------------------------
subroutine ${procedure}(comm, comm_keyval, attribute_val, flag, ierr)
  include 'mpif.h'
  integer, intent(in) :: comm
  integer, intent(in) :: comm_keyval
  integer(kind=MPI_ADDRESS_KIND), intent(out) :: attribute_val
  logical, intent(out) :: flag
  integer, intent(out) :: ierr
end subroutine ${procedure}

EOF
}

start MPI_Comm_get_attr small
output MPI_Comm_get_attr
end MPI_Comm_get_attr
----------------------------------------

I notice that f77 is correct in: ompi/mpi/f77/prototypes_mpi.h
PN(void, mpi_comm_get_attr, MPI_COMM_GET_ATTR, (MPI_Fint *comm, MPI_Fint *comm_keyval, MPI_Aint *attribute_val, MPI_Flogical *flag, MPI_Fint *ierr));

On Apr 20, 2006, at 2:24 PM, Michael Kluskens wrote:

Error in:

openmpi-1.1a3r9663/ompi/mpi/f90/mpi-f90-interfaces.h

subroutine MPI_Comm_get_attr(comm, comm_keyval, attribute_val, flag,
ierr)
   include 'mpif.h'
   integer, intent(in) :: comm
   integer, intent(in) :: comm_keyval
   integer(kind=MPI_ADDRESS_KIND), intent(out) :: attribute_val
   integer, intent(out) :: flag
   integer, intent(out) :: ierr
end subroutine MPI_Comm_get_attr

flag should be a logical.  Only in C is it an integer.

Compare with page 294 of MPI--The Complete Reference, Volume 1 and
page 176 of Using MPI, 2nd ed.

In my test case I'm using:

   call MPI_Comm_get_attr(MPI_COMM_WORLD, MPI_UNIVERSE_SIZE, &
               universe_size, flag, ierr)

   integer :: ierr
   integer  (kind=MPI_ADDRESS_KIND) :: universe_size
   logical :: flag

This compiled and worked as of version 9427.

Michael

_______________________________________________
users mailing list
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users


Reply via email to