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