[mpich2-dev] MPI_UNWEIGHTED should have type "int*" ?

Dave Goodell goodell at mcs.anl.gov
Thu Dec 17 08:07:51 CST 2009


On Dec 16, 2009, at 8:49 AM, Lisandro Dalcín wrote:

> I've had a failure when trying to build with C++.
>
> Currently, mpi.h has this:
>
> #define MPI_UNWEIGHTED  ((void *)0)
>
> but IMHO, it should read:
>
> #define MPI_UNWEIGHTED  ((int *)0)

That's a good point, I'll change that.  At least for this bug a simple  
cast is an easy workaround.

Now that I look at it, this email is going to spawn a few other TODOs:

1) We aren't testing MPI_UNWEIGHTED in test/mpi/topo/distgraph1.c.   
I'll file a ticket to remind us to do this.

2) There isn't any test in Fortran yet for the distgraph stuff.  I'll  
file a ticket to remind us to do that at some point.  There's a  
reasonable chance that Fortran is broken because I don't recall doing  
any of the special constant magic (MPI_UNWEIGHTED is similar to  
MPI_STATUS_IGNORE).

3) The MPI-2.2 Standard doesn't specify the type of MPI_UNWEIGHTED in  
section A.1.1, page 523, line 35.  I'll file a ticket with the MPI  
Forum for this one.

Thanks for the bug report.

-Dave



More information about the mpich2-dev mailing list