This issue has already been addressed with respect to Fortran, which
also included complex and boolean (logical) data types. See page 115
of the MPI-1 spec. I recommend that we similarly specify which
reduction operations can be legally used with which C++ data types.
Best Regards,
Andrew Lumsdaine