On Oct 28, 2012, at 10:28 AM, Dmitri Gribenko wrote: > Thank you for the feedback! Hopefully the attached patch fixes both of these. > > 1. There are two helper structs with complex numbers. I predicated > the struct declarations and use to appear only in C99. > > 2. These macros were indeed missing.
I did a few tests and this now looks good; no more warnings. I brought up this functionality on the weekly OMPI dev telecon today and got an important piece of feedback: apparently there are a large class of apps that wrap their messages as transparent blobs, and then use either non-blob-like or derived MPI datatypes. (I said something similar to this earlier in the thread, but I didn't know that there was a large class of apps that actually did it) A very simple example is: char *foo = malloc(...); // ...fill foo... MPI_Send(foo, x, MPI_INT, ...); Another not-uncommon example is: char *foo = malloc(...); // Receive some INTEGERs from a Fortran sender MPI_Recv(foo, x, MPI_INTEGER, ...); With this patch, they'd get warnings about these uses, even though they are completely valid according to MPI. A suggestion was that this functionality could be disabled by default, and enabled with a magic macro. Perhaps something like: mpicc -DOMPI_DDT_CHECKING ... or something like that. Thoughts? -- Jeff Squyres jsquy...@cisco.com For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/