On Oct 31, 2017, at 10:57 AM, Dinan, James <james.dinan@intel.com> wrote:
IIUC, this would break code that uses MPI_COMM_WORLD as a static initializer, e.g., to initialize a global variable like "MPI_Comm mycomm = MPI_COMM_WORLD".
Why can't the handles themselves be compile-time constants corresponding to objects that are not created until the library is initialized (how it works now)? Note that such handles are defined to be compile-time constants. I don't know that they necessarily correspond to symbols that you can take an address of.