<div class="gmail_quote">On Tue, Jun 26, 2012 at 8:41 AM, Douglas Miller <span dir="ltr"><<a href="mailto:dougmill@us.ibm.com" target="_blank">dougmill@us.ibm.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I've got to raise a concern here. If we start defining MPI datatypes to be C++ types then how will an implementation support that with only a C compiler? I thought the point of 281 was to eradicate C++ from the standard (and start over later if C++ was to be defined in the standard).  </blockquote>
</div><br><div>The C++ standard specifies the data representation so I don't see any reason an implementation couldn't opt to implement the predefined MPI_Ops without actually using std::complex.</div><div><br></div>
<div>An alternative approach is to note that C99 _Complex has the same data representation as std::complex, then ask implementations to provide MPI_C_COMPLEX even on systems without C99 (making it usable from C++). This isn't really a complicated thing, but we definitely have users of complex types on Windows and cannot use one-sided operations unless a predefined complex type is available there.</div>