- Set ompi-specific autoconf cache-variables
- Implement one function to check for availability of an
attribute with the possibility for a cross-check.
- Do cross-checks for
__attribute__(format)
__attribute__(nonnull)
__attribute__(sentinel)
__attribute__(warn_unused_result)
- Grep the compilers warnings for keywords regarding ignored
attributes.
- Include also the no_instrument_function
This commit was SVN r13556.
go and have proper casting.
Tested with linux gcc-4, icc-9.0, pathcc-2.2.1 and pgi-6.2.5
(icc warns on several attributes, that they are ignored;
same for pathcc and pgi)
This commit was SVN r13485.
Check both the c and cpp compilers for support of attributes, and then check for support for each individual attribute with both compilers. Only if both compilers support a given attribute will we enable it.
This commit was SVN r13483.
remote nodes. It will also kill off rogue orteds and orterun
processes. The killing of processes is ifdef'ed out for Windows
since I do not know how to do it there. Note that this change
will requite an autogen.
This commit was SVN r13477.
most common attributes. Useful attributes may be:
- optimization (pure, const, malloc--restrictness)
- data layout (packed)
- interface definition, API (deprecated, visibility, weak alias)
- compiler hint for code analysis and debugging (nonnull, format)
This commit was SVN r13369.
Sorry for the configure change -- hopefully it's early enough in the
morning that it won't affect people... (new approach won't have a
configure change).
Refs trac:739.
This commit was SVN r13080.
The following Trac tickets were found above:
Ticket 739 --> https://svn.open-mpi.org/trac/ompi/ticket/739
been fixed in the 7.0 PGI series, but is unlikely to be fixed in the
6.2 series:
* Add a configure test looking for the bad behavior (the PGI compiler
chokes on C code where structs containing bool's are copied by
value)
* Set OMPI_BOOL_STRUCT_COPY to 1 if it's ok, 0 if it's not (i.e., PGI
6.2 series will have this value set to 0)
* In two places in the code base -- orte-clean and btl_openib_ini.h,
we have a struct that contains a bool that is copied by value. In
these two places, check OMPI_BOOL_STRUCT_COPY and if it's 1, use
the "int" type instead of "bool".
Fixes trac:739
This commit was SVN r13076.
The following Trac tickets were found above:
Ticket 739 --> https://svn.open-mpi.org/trac/ompi/ticket/739
the data was buffered by the MX library. If it's the case then we declare
the send as completed and disable the completion event for the mx request.
This commit was SVN r12935.
protocol over the MX BTL. Now, we have only one matching, the one in Open
MPI.
The problem is that when the unexpected handler is triggered, not all the
message is on the host memory. In the best case we get one MX fragment (internal
MX fragment), in the worst we get NULL. The only way to fit this with the
design of the PML is to force the eager protocol at the MX internal fragment
size, and to limit the send/receive protocol at the same size. Tests show
the outcome is not far from optimal (if the pipeline depth is increased
a little bit).
Set MX_PIPELINE_LOG in order to allow MX to use internal fragments of 4K.
This commit was SVN r12930.
* Check that the C++, Fortran 77, and Objective C comilers emit code
that can link against object files emitted by the C compiler.
Moves some built / run time errors to configure time, which is
nice and should help with the debugging
* Remove unneeded -F option when building the XGrid components,
which started causing problems with LT 2.0.
* Try to use the XGridFoundation library, rather than just seeing
if we can give -framework XGridFoundation. Should make the
test slightly more accurate
* Don't assume XGrid is unavailable on 64 bit platforms, as that
won't be true on Leopard
* Require AM 1.10 or newer if using AC 2.60 or newer, so that
we don't have a split of AC supporting Objective C and AM
not doing so
This commit was SVN r12701.
they might require special tools (not sure if sed with multiple -e
arguments is totally portable)
- ignore the opalcc.1 man page. Couldn't do this in the previous
man page commit (r12192) because I was removing opalcc.1 in that
commit.
This commit was SVN r12194.
The following SVN revision numbers were found above:
r12192 --> open-mpi/ompi@581a4b0a4e
some issues with the C #defines SEEK_{SET, END, POS}. The workaround
involves some hackery that should work in almost every common use case
for the C stdio constants (and all the legal issues of the MPI constants).
The one issue is that the C stdio constants are now const ints instead
of #defines, which means that #ifdef checks will fail for the constants.
Behavior can be disabled at either configure time or build time.
Refs trac:387
This commit was SVN r12121.
The following Trac tickets were found above:
Ticket 387 --> https://svn.open-mpi.org/trac/ompi/ticket/387
remove requirements on .la files on wrapper scripts
Ticket: #374
extend compilers to support 32 bit and 64 bit in one version of the wrapper
Submitted by: Dan Lacher
Reviewed by: Rolf Vandevaart
This commit was SVN r11908.
8 bytes. Adjust the configure tests to allow for this case.
Refs trac:427
This commit was SVN r11859.
The following Trac tickets were found above:
Ticket 427 --> https://svn.open-mpi.org/trac/ompi/ticket/427
the component is configured successfully. Otherwise, we can end up
trying to run make in the romio directory without any Makefiles. This
really only happens on the targets that recurse into DIST_SUBDIRS - ie
dist, maintainer-clean, and distclean
refs trac:411
This commit was SVN r11807.
The following Trac tickets were found above:
Ticket 411 --> https://svn.open-mpi.org/trac/ompi/ticket/411
* Use $31 instead of mnemonic zero for the gcc inline
assembly test, as the GNU assembler doesn't like
zero, but both Tru64 and GNU assembler should be fine
with $31
* Disable Linux timer component on Alpha. The CPU timer
rolls over every 10 seconds or less, so it's kinda
worthless for our needs.
* Fix some escaping issues when local functions are
denoted with a $
* Remove C++ comments from the Alpha assembly.
* Add base assembly code for the non-inlined functions
on Alpha
This commit was SVN r11764.
CXXFLAGS are set to -Wall -Werror. Thanks to Ralf for the patch.
refs trac:290
This commit was SVN r11762.
The following Trac tickets were found above:
Ticket 290 --> https://svn.open-mpi.org/trac/ompi/ticket/290
LoadLeveler only sets LOADL_PROCESSOR_LIST when there are 128 or less tasks allocated to a job. The POE RAS relied on this variable so I created a new RAS which uses the LoadLeveler API instead of relying on the environment variable. This still needs some testing, so for now we use the POE RAS whenever LOADL_PROCESSOR_LIST, otherwise we fall back on this component.
Unfortunately, this will require an autogen...
This commit was SVN r11732.
so that we include all the ev series on platforms that report more than
just "alpha". Fixes one of many issues on Alpha reported by a user.
refs trac:380
This commit was SVN r11683.
The following Trac tickets were found above:
Ticket 380 --> https://svn.open-mpi.org/trac/ompi/ticket/380
Add --enable-orterun-prefix-by-default (and a synonym:
--enable-mpirun-prefix-by-default) to make orterun always behave as if
"--prefix $prefix" was given on the command line (where $prefix is the
value given to the --prefix option to configure). This prevents many
rsh/ssh users from needing to modify their shell startup files to set
the LD_LIBRARY_PATH for Open MPI (they will still need to set PATH or
otherwise find the OMPI executables to mpicc/mpirun/etc. their MPI
applications).
Also added --noprefix option to orterun to disable this behavior.
Finally, note that even if --enable-orterun-prefix-by-default is
specified, if the user specifies --prefix or /path/to/mpirun, these
options will override the default value of the prefix ($prefix).
This commit was SVN r11669.
The following Trac tickets were found above:
Ticket 377 --> https://svn.open-mpi.org/trac/ompi/ticket/377
This provides support for the Infinipath interconnect using the PSM API.
Of note:
This version has a "hackaround" we always return 1 or greater from
the MTL PSM progress function, this should be examined further.
This commit was SVN r11655.
for prefetch and branch prediction work. A non-happy compiler could
just think these were functions and we wouldn't get the error, because
we didn't try to link.
Refs trac:287
This commit was SVN r11333.
The following Trac tickets were found above:
Ticket 287 --> https://svn.open-mpi.org/trac/ompi/ticket/287
before checking if we are able to compile the test program. This is required
for windows as the C++ conftest.c file generated by configure cannot be
compiled with the Microsoft cl.exe compiler (because of the exit function
prototype). So if we detect a vendor equal to microsoft we will assume
that the compiler is correctly installed (which is true on Windows most
of the time anyway).
This commit was SVN r11268.
releases on Linux and OS X) don't handle const_cast<> of 2-dimensional
arrays properly. If we're using one of the compilers that isn't friendly
to such casts, fall back to a standard C-style cast.
refs: #271
This commit was SVN r11263.
to cause them to miscompile TCP-related code.
refs trac:276
This commit was SVN r11258.
The following Trac tickets were found above:
Ticket 276 --> https://svn.open-mpi.org/trac/ompi/ticket/276
on almost all platforms (except OS X... sigh...). This is the merge
of r10846 - 10894 from the tmp/f90-shared branch to the trunk.
This commit was SVN r11103.
The following SVN revisions from the original message are invalid or
inconsistent and therefore were not cross-referenced:
r10846