Clang 3.4 static analysis is now smart enough that it refuses to
compile our POSIX threading tests because we simply passed 0 for
several arguments (the test is checking for the linker presence of
symbols, so the NULL arguments didn't matter). Specifically, Clang's
anti-NULL compile-time checks now refuse to compile this bogus code.
Hence, these 2 configure test codes now have real variables and
pointers so that clang will compile it properly.
Without this fix, configure determines that there is no POSIX
threading support, and the osc/sm component fails to compile (which is
a different defect I'll be filing shortly). As such, we need this fix
in 1.8.1.
Also, change from the deprecated AC_TRY_LINK to AC_LINK_IFELSE.
cmr=v1.8.1:reviewer=dgoodell
This commit was SVN r31458.
* Superfluous use of MPI_User_function in comm_create_keyval_f08.F90
* Missed adding "value" keyword to function pointer arguments in pmpi
C interfaces
Submitted by Craig, reviewed by Jeff.
Refs trac:4512
This commit was SVN r31455.
The following Trac tickets were found above:
Ticket 4512 --> https://svn.open-mpi.org/trac/ompi/ticket/4512
The C99 usage to initialize via struct member names was already there,
but commented out. This commit doesn't fix any known problem; it
simply uncomments the C99 code, because it's safer/better.
This commit was SVN r31425.
Changed:
- Use ompi_mpi_group_null instead of MPI_GROUP_NULL.
- Asserts don't always quiet the clang static analyser. Change them to
ifs to really quite the warnings.
cmr=v1.8.1:ticket=trac:4527:reviewer=jsquyres
This commit was SVN r31424.
The following Trac tickets were found above:
Ticket 4527 --> https://svn.open-mpi.org/trac/ompi/ticket/4527
The algorithm was failing ibm/collective/allgather and iallgather. I
cleaned up the code to eliminate duplicate code paths and tracked the
issue down to an error in the way extra nodes in the knomial exchange
are handled. The new code is more compact and has been tested with up
to 64 ranks with the ibm test suite.
cmr=v1.8.1:reviewer=manjugv
This commit was SVN r31419.
The file coll_ml_ibarrier.c wasn't included in coll/ml's Makefile.am
and the setup code from coll_ml_hier_algorithms_ibarrier.c was not
being called. It looks like this code is stale and has long since been
replaced by the code in coll_ml_barrier.c
Once all these little CMRs are approved I may make it into one roll-up
CMR to make it easier on the RM.
cmr=v1.8.1:reviewer=manjugv
This commit was SVN r31418.
a segmentation fault in the reduce cleanup
Some of the changes address false warnings produced by scan-build. I
added asserts and changed some malloc calls to calloc to silence these
warnings.
The was one issue in cleanup for reduce since the component_functions
member is changed by the allreduce call. There may be other issues
with how this code works but releasing the allocated
component_functions after setting up the static functions addresses
the primary issue (SIGSEGV).
cmr=v1.8.1:reviewer=manjugv
This commit was SVN r31417.
communicator code.
Many of the warnings were false warnings. These were silenced by
adding the appropriate asserts. Other warnings identified some
potential issues in error paths that should now be resolved.
cmr=v1.8.1:reviewer=jsquyres
This commit was SVN r31416.
This commit addresses bugs discovered by ggouaillardet.
- Fix hang when creating an intercommunicator
- Fix memory leak
- Fix coverity warning cid70288
- Fix false coverity warning cid1196589
Fixes trac:4507
Fixes trac:4522
cmr=v1.8.1:reviewer=jsquyres
This commit was SVN r31415.
The following Trac tickets were found above:
Ticket 4507 --> https://svn.open-mpi.org/trac/ompi/ticket/4507
Ticket 4522 --> https://svn.open-mpi.org/trac/ompi/ticket/4522
- add some missing APIs
- change signature od shmem_finalize to comply with SGI spec
fixed by Roman, reviewed by Igor/Miked
Refs trac:4520
This commit was SVN r31413.
The following Trac tickets were found above:
Ticket 4520 --> https://svn.open-mpi.org/trac/ompi/ticket/4520
This man page contains the prototype and descriptions for both
MPI_TYPE_INDEXED and MPI_TYPE_CREATE_HINDEXED. Bastian Beischer
noticed that the type of the array_of_displacements argument in the
MPI_TYPE_CREATE_HINDEXED was wrong.
Also, a minor update to MPI_Type_hindexed.3in: indicate that the C
type is MPI_Aint and the Fortran type is INTEGER (which is why this
function was deprecated and then deleted by the MPI Forum!).
cmr=v1.8.1:reviewer=dgoodell
This commit was SVN r31411.
The rationale for this name switch is as follows:
0. These two files will be automatically kept up-to-date with
svn:ignore properties in the tree via a cron script. Meaning: if a
developer makes changes to svn:ignore properties, those changes
will automatically be reflected in .gitignore_global /
.hgignore_global within a fixed time period (at the moment,
nightly).
1. Developers who make pure clones of git/hg OMPI repos can copy the
relevant .*ignore_global file to .*ignore. This gives them a good
starting point for a fully-populated ignore file. However, since
the upstream _global file may change over time, developers will
likely want to keep them in sync with their local .*ignore file.
Here's two possibilities:
1a. Maintain a single .*ignore file and manually merge in changes
from the _global file upstream.
1b. Maintain their local ignores in a .*ignore_local file, and
periodically "cat .*ignore_global .*ignore_local > *.ignore"
(e.g., whenever the upstream _global file changes).
2. Developers who make svn+clone checkouts can do similar things as
listed in 1, with the added feature that they cannot make the
mistake of committing their locally-modified .*ignore file back to
SVN (presumably containing references to files that do not exist in
SVN), since the .*ignore file is not in SVN.
Point #2 is probably the stronger of these two reasons -- prevent
mistakes of developers accidentally committing locally-modified
.*ignore files back to SVN.
This commit was SVN r31408.
Add some getopt options for both build-gitignore.pl and
build-hgignore.pl:
-v: be a little verbose
-h: show a quick help message
-o: specify the output file to write
build-hgignore.pl defaults to writing .hgignore, and
build-gitignore.pl defaults to writing .gitignore. But you can use -o
to specify writing a different filename.
This commit was SVN r31397.
Nothing is generated in this file; this commit essentially just
renames ompi_config.h.in -> ompi_config.h.
cmr=v1.8.1:reviewer=dgoodell
This commit was SVN r31395.
Sort the output from reading directory contents so that the generated
.gitignore and .hgignore files will be much more consistent (and
friendly to change from subsequent runs, especially when they are
committed to SVN/git/hg repos).
This commit was SVN r31394.