On Sep 27 2012, Jeff Squyres wrote:
>On Sep 27, 2012, at 7:30 AM, Paul Hargrove wrote:
>> PUBLIC should be a standard part of F95 (no configure probe required).
>> However, the presence of "OMPI_PRIVATE" suggests you already have a
>> configure probe for the "PRIVATE" keyword.
>Yes, we do, because not all compilers support it (yet?).
All serious compilers do, and have for a long time. I should be interested
to know which ones are actually used that don't. There are a couple of
Fortran compilers around that aren't really maintained and haven't been
upgraded in a decade, but it is ridiculous to attempt to support such
things. It's like attempting to support K&R C compilers!
There is a high chance that these portability problems are actually
caused by the configuration mechanism - indeed, I would give three to
one on that being the cause. I use PUBLIC and PRIVATE in my course,
and I am pretty sure that I tested with Sun ONE Studio, so Oracle
Studio is probably OK :-)
A VERY strong recommendation for portability is to minimise the use of
that obscene hack (by which I mean configure). OpenMPI probably can't
avoid using it, but its use should be minimised - it is FAR better to
clean up code and make it fully portable than to use it to hack around
a problem. And far too few configuration scripts get the software
engineering and maintenance that they need.
Here, for example, there is absolutely NO point in supporting anything
beyond the pure Fortran 77 interfaces for any compiler that isn't a
full Fortran 95 one.