- reorder the code to accept LB and UB with ZERO count (it's MPI legal)
- improuve the LB & UB computation, It's still not completly clear how to handle them in some specific cases.
This commit was SVN r3328.
that ptl address on send and receive side is the same. This is set
once by the constructor. Can't do this on the recv side, since a
fragment can be used for multiple destinations.
This commit was SVN r3314.
size_t to int. This is in recognition of the fact that these two
classes are primarily used for fortran<-->c convertsion of various
entities (attributes, MPI objects), and MPI defines that an int must
be used to hold MPI fortran handles. Hence, why use size_t
internally? See the comment in src/class/ompi_pointer_array.h for a
better description.
Mixed in a few attribute fixes in this commit as well.
This commit, therefore:
- converts the indexing from size_t to int
- changes all locations in the code that I could find that used size_t
as the interface to ompi_bitmap_t or ompi_pointer_array_t
- convert to use OMPI_FINT_2_INT / OMPI_INT_2_FINT macros in various
src/mpi/c/*f2c.c and src/mpi/c/*c2f.c files
- check the return code of ompi_comm_free() to ensure that everything
worked properly before returning MPI_SUCCESS
- unified all src/mpi/c/*f2c.c functions (i.e., they all do the same
thing)
- tie up some loose ends w.r.t. MPI_Request handling in fortran; set
the req_f_to_c_index to MPI_UNDEFINED when it does not have a fortran
index
- still need to add a configure test to find OMPI_FORTRAN_HANDLE_MAX
for ompi_bitmap.c and ompi_pointer_array.c (hard-wired to INT_MAX
right now)
- re-organized, consolidated, and unified some ompi_pointer_array.c
code -- fixed a few minor bugs w.r.t. lowest_free (could have left
some unintentional holes in the array)
This commit was SVN r3302.
Botched the last 2 commits, so this one fixes all 3 and we have a
stable tree again:
- r3299 was supposed to include all the *.c files in r3300 and should
not have included bindings.h and fint_2_int.h, and does exactly what
it says in the commit message for r3299.
- r3300 was supposed to include bindings.h and fint_2_int.h and
Makefile.am -- it moved all the int<-->fint macros out of bindings.h
and into the standalone file fint_2_int.h. This allows the
int<-->fint macros to be included in some of the files in
src/mpi/c/*.c (particularly the f2c and c2f functions).
This commit was SVN r3301.
The following SVN revision numbers were found above:
r3299 --> open-mpi/ompi@d8fb2ff1e5
r3300 --> open-mpi/ompi@57d7863e1a
r3299 should have included add the *.c files in this commit and not
included bindings.h and fint_2_int.h. So this commit includes the
missing .c files, and describes the changes in bindings.h and
fint_2_int.h: moved all the int<-->fint conversion macros
This commit was SVN r3300.
The following SVN revision numbers were found above:
r3299 --> open-mpi/ompi@d8fb2ff1e5
result of a long, confusing conversation between Geroge and myself,
and a bunch more Intel tests now pass as a result:
- use (void*) instead of (MPI_Fint*). Don't use the proper function
pointer type (as defined in, e.g., op/op.h) because a) there's no
typecasting coming in from fortran anyway, and b) it would make a
dependency from all the fortran bindings to op.h, errhandler.h, and
attribute.h.
- do not dereference function pointers when calling the back-end C MPI
functions -- pass them as the pointers that Fortran passed in the
first place.
This commit was SVN r3299.
that the C compiler may support bool with no help from <stdbool.h>.
So add another configure test and adjust ompi_config_bottom.h as
appropriate. Since the #if logic in ompi_config_bottom.h got a little
complicated w.r.t. bool, I indented to make the conditionals clear.
This commit was SVN r3291.