The problem is that, as you note, the standard is ambiguous here.  The problem is with established practice - users may have, understandably, assumed that MPI_Aint is exactly sizeof(void*).  So while the letter of the standard may permit this, I fully expect it to generate bug reports from users, who will have suffered stack corruption because they didn't provide a longer-than-sizeof(void*) value for attribute values.

Bill

On May 5, 2008, at 8:37 AM, Pavan Balaji wrote:

Does the MPI standard say that MPI_Aint is exactly an "address-sized

int" or does it say that it is large enough to contain an address?


Here's a snippet from the MPI standard, which is a little vague IMO:


William Gropp
Paul and Cynthia Saylor Professor of Computer Science
University of Illinois Urbana-Champaign