<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
That would probably be a better solution than what I mentioned above. Essentially it does the thing that we often said was possible, though we never did, which was to not actually initialize MPI_COMM_WORLD until we used it. In theory, that seemed like a good
 idea, but it wouldn't actually help anything because it would still require MPI_COMM_WORLD to be created sooner or later because everything gets created from it.<br class="">
<div><br class="">
<blockquote type="cite" class="">
<div class="">On Oct 31, 2017, at 10:57 AM, Dinan, James <<a href="mailto:james.dinan@intel.com" class="">james.dinan@intel.com</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<div style="font-family: Calibri, sans-serif; font-size: 14px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">
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".</div>
<div style="font-family: Calibri, sans-serif; font-size: 14px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">
<br class="">
</div>
<div style="font-family: Calibri, sans-serif; font-size: 14px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">
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.</div>
</div>
</blockquote>
</div>
<br class="">
</body>
</html>