The PGI C compiler complains (issues a warning) for the #pragma ident in opal/runtime/opal_init.c:

PGC-W-0281-Pragma ignored - string expected after #pragma ident (../ opal/util/sys_limits.h: 58)

This is because the PCI C compiler does not (whereas, curiously, the PGI C++ compiler does) support macro substitution in a #pragma ident, which is the form of all the #pragma ident statements in OpenMPI:

[baker@hydra openmpi-1.5rc5]$ find . -name \*.c -exec grep -w "#pragma ident" {} ';' -print
#pragma ident OMPI_IDENT_STRING
./ompi/runtime/ompi_mpi_init.c
#pragma ident OMPI_IDENT_STRING
./ompi/mpi/f77/init_f.c
#pragma ident OPAL_IDENT_STRING
./opal/runtime/opal_init.c
#pragma ident ORTE_IDENT_STRING
./orte/runtime/orte_init.c

The test for support of the #pragma ident feature in configure (which appears twice: once for the C compiler, and once for the C++ compiler) tests only the case when the pragma has a literal string argument:

    ompi_ident="string_not_coincidentally_inserted_by_the_compiler"
    cat > conftest.c <<EOF
#pragma ident "$ompi_ident"
int main(int argc, char** argv);
int main(int argc, char** argv) { return 0; }
EOF

However, that is not the form used by OpenMPI. The code in configure should be changed to test the actual form of #pragma ident used by OpenMPI:

    ompi_ident="string_not_coincidentally_inserted_by_the_compiler"
    cat > conftest.c <<EOF
#define OMPI_IDENT "$ompi_ident"
#pragma ident OMPI_IDENT
int main(int argc, char** argv);
int main(int argc, char** argv) { return 0; }
EOF

When this code is used instead (twice), the PGI C compiler fails the configure test for #prgma ident support, as it should.

Larry Baker
US Geological Survey
650-329-5608
ba...@usgs.gov

On Aug 17, 2010, at 2:18 PM, Jeff Squyres wrote:

We still have one known possible regression:

    https://svn.open-mpi.org/trac/ompi/ticket/2530

But we posted rc5 anyway (there's a bunch of stuff that has been pending for a while that is now in). Please test!

    http://www.open-mpi.org/software/ompi/v1.5/

--
Jeff Squyres
jsquy...@cisco.com
For corporate legal information go to:
http://www.cisco.com/web/about/doing_business/legal/cri/


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

Reply via email to