I'm not entirely sure what comment is being discussed. The comment in opal/util/arch.c (written by me long ago) should not be taken seriously - it was nothing more than a half-hearted attempt to appease the stormy controversy (mostly objections from George and a little from Brian) created by my moving this code to OPAL. It had no technical validity behind it at all.
Somewhat amusing to see that comment now used as justification for leaving the code there by some of the same people. ;-)
The question of whether or not we accurately deal with Fortran variable sizes was always present, even when this code was in the OMPI layer. It is a tad troublesome as Fortran advocates -do- occasionally set the flags that can cause the variables to differ from their C counterparts. Rather than some obscure comment in the source code, we should probably generate a warning and (hopefully) abort when someone uses those flags to avoid creating hard-to-debug errors.
On Jun 2, 2009, at 10:24 AM, Rainer Keller wrote:
no, that's not an issue. The comment is correct: For any Fortran integer*kind
we need to have _some_ C-representation as well, otherwise we disregard the
type (tm), see e.g. the old and resolved ticket #1094.
The representation chosen is set in opal/util/arch.c and is conclusive as far
as I can tell...
Doesn't that mean that the comment is misleading? I interpret it as saying that a Fortran "default integer" is always the same as a C "int". I believe that you are saying that it really means that *any* kind of Fortran integer must be the same as one of C's integral types, or OpenMPI won't support it at all. Shouldn't the comment be clearer?
devel mailing list