Gilles Gouaillardet <gil...@rist.or.jp> writes:
>> implementation.  Must I compile in support for being called with
>> MPI_DOUBLE_COMPLEX?
>>
> does that really matter ?

Possibly.  For example, if the library needed to define some static
data, its setup might involve communicating values before being called
with that particular type.  That setup phase would fail if the Fortran
type is invalid.

> i assume your library and the user code are built with the same OpenMPI.
> if there is no Fortran support, then you are compiling code that cannot 
> be invoked (e.g. dead code),
> and though that is not the most elegant thing to do, that does not sound 
> like a showstopper to me.
>
> so yes, compile in support for being called with Fortran predefined 
> datatypes,
> worst case scenario is you generate broken dead code.

No, worst case is that the library crashes at run-time, e.g., during
setup of some sort.

I don't have a specific library with this behavior, but I can fill in
the details to scientifically justify such a thing.

Anyway, my suggestion is to either make a compile-time error so that a
configure script can test its validity or make it possible to query at
run-time whether the type/object is valid.  The latter would have the
advantage that you could rebuild MPI to add Fortran support and
dependent projects would not need to be rebuilt because they saw the
same environment.  I think that would involve new function(s).

Attachment: signature.asc
Description: PGP signature

Reply via email to