Boost C++ Libraries: Ticket #4080: Various compilers need BOOST_NO_COMPLETE_VALUE_INITIALIZATION https://svn.boost.org/trac10/ticket/4080 <p> John Maddock has just added my boost_no_complete_value_initialization tests to the trunk: <a class="ext-link" href="https://svn.boost.org/svn/boost/trunk/libs/config/test/boost_no_com_value_init.ipp"><span class="icon">​</span>https://svn.boost.org/svn/boost/trunk/libs/config/test/boost_no_com_value_init.ipp</a> <a class="changeset" href="https://svn.boost.org/trac10/changeset/61153" title="Committed Neils Dekker's new macro tests.">[61153]</a>, which is likely to cause some regression failures. This ticket is there to remind me to keep an eye at the regression page: <a href="http://www.boost.org/development/tests/trunk/developer/config_.html">http://www.boost.org/development/tests/trunk/developer/config_.html</a> And to define the new defect macro, BOOST_NO_COMPLETE_VALUE_INITIALIZATION, for those compilers that appear to get those regression failures. </p> <p> Moreover, this ticket allows archiving the regression failure output for those compilers, before those failures are suppressed by means of the defect macro. </p> <p> Related ticket: <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/3869" title="#3869: Bugs: Unconditional call to memset in value_initialized() (closed: fixed)">#3869</a>, "Unconditional call to memset in value_initialized()", reported by Aleksey Gurtovoy. </p> <p> Related mailing list item: [boost] [config] New defect macro:BOOST_NO_COMPLETE_VALUE_INITIALIZATION </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/4080 Trac 1.4.3 niels_dekker Fri, 23 Apr 2010 22:01:57 GMT <link>https://svn.boost.org/trac10/ticket/4080#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/4080#comment:1</guid> <description> <p> (In <a class="changeset" href="https://svn.boost.org/trac10/changeset/61516" title="Added BOOST_NO_COMPLETE_VALUE_INITIALIZATION to IBM XL C++ &lt;= V10.1.0 ...">[61516]</a>) Added BOOST_NO_COMPLETE_VALUE_INITIALIZATION to IBM XL C++ &lt;= V10.1.0 (trunk), see <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/4080" title="#4080: Bugs: Various compilers need BOOST_NO_COMPLETE_VALUE_INITIALIZATION (closed: fixed)">#4080</a>. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>niels_dekker</dc:creator> <pubDate>Fri, 23 Apr 2010 22:12:43 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/4080#comment:2 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/4080#comment:2</guid> <description> <p> I just added BOOST_NO_COMPLETE_VALUE_INITIALIZATION to <a class="ext-link" href="https://svn.boost.org/svn/boost/trunk/boost/config/compiler/vacpp.hpp"><span class="icon">​</span>https://svn.boost.org/svn/boost/trunk/boost/config/compiler/vacpp.hpp</a> because IBM's XL C/C++ for AIX V10.1.0.0 did not value-initialize <code>enum_holder_and_int()</code>, <code>virtual_destructor_holder()</code>, and <code>non_pod_class()</code> from <a class="ext-link" href="https://svn.boost.org/svn/boost/trunk/libs/config/test/boost_no_com_value_init.ipp"><span class="icon">​</span>https://svn.boost.org/svn/boost/trunk/libs/config/test/boost_no_com_value_init.ipp</a> revision <a class="changeset" href="https://svn.boost.org/trac10/changeset/61436" title="Extended value-initialization test by adding function pointers, member ...">[61436]</a>, according to the Config/trunk regression data provided by IBM_Canada_Ltd. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>niels_dekker</dc:creator> <pubDate>Wed, 28 Apr 2010 08:50:25 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/4080#comment:3 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/4080#comment:3</guid> <description> <p> (In <a class="changeset" href="https://svn.boost.org/trac10/changeset/61642" title="Added BOOST_NO_COMPLETE_VALUE_INITIALIZATION to GCC &lt; 4.4 (trunk), see ...">[61642]</a>) Added BOOST_NO_COMPLETE_VALUE_INITIALIZATION to GCC &lt; 4.4 (trunk), see <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/4080" title="#4080: Bugs: Various compilers need BOOST_NO_COMPLETE_VALUE_INITIALIZATION (closed: fixed)">#4080</a>. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>niels_dekker</dc:creator> <pubDate>Wed, 28 Apr 2010 17:54:06 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/4080#comment:4 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/4080#comment:4</guid> <description> <p> (In <a class="changeset" href="https://svn.boost.org/trac10/changeset/61652" title="Added BOOST_NO_COMPLETE_VALUE_INITIALIZATION to Borland (trunk), see #4080">[61652]</a>) Added BOOST_NO_COMPLETE_VALUE_INITIALIZATION to Borland (trunk), see <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/4080" title="#4080: Bugs: Various compilers need BOOST_NO_COMPLETE_VALUE_INITIALIZATION (closed: fixed)">#4080</a> </p> </description> <category>Ticket</category> </item> <item> <dc:creator>niels_dekker</dc:creator> <pubDate>Thu, 29 Apr 2010 21:49:46 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/4080#comment:5 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/4080#comment:5</guid> <description> <p> Adding BOOST_NO_COMPLETE_VALUE_INITIALIZATION to <a class="ext-link" href="http://svn.boost.org/svn/boost/trunk/boost/config/compiler/borland.hpp"><span class="icon">​</span>http://svn.boost.org/svn/boost/trunk/boost/config/compiler/borland.hpp</a> (<a class="changeset" href="https://svn.boost.org/trac10/changeset/61652" title="Added BOOST_NO_COMPLETE_VALUE_INITIALIZATION to Borland (trunk), see #4080">[61652]</a>) fixed the related regression failures of siliconman/borland-5.9.3 (config_test + config_test_threaded), but it did not fix any regression failure of siliconman/borland-6.1.3, siliconman/borland-6.2.1, codegear/borland-cb2009, or borland-cb2010. So the defect macro still needs to be added to <a class="ext-link" href="http://svn.boost.org/svn/boost/trunk/boost/config/compiler/codegear.hpp"><span class="icon">​</span>http://svn.boost.org/svn/boost/trunk/boost/config/compiler/codegear.hpp</a> </p> </description> <category>Ticket</category> </item> <item> <dc:creator>niels_dekker</dc:creator> <pubDate>Thu, 29 Apr 2010 22:32:46 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/4080#comment:6 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/4080#comment:6</guid> <description> <p> (In <a class="changeset" href="https://svn.boost.org/trac10/changeset/61691" title="Added BOOST_NO_COMPLETE_VALUE_INITIALIZATION to CodeGear (trunk), see ...">[61691]</a>) Added BOOST_NO_COMPLETE_VALUE_INITIALIZATION to <a class="missing wiki">CodeGear</a> (trunk), see <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/4080" title="#4080: Bugs: Various compilers need BOOST_NO_COMPLETE_VALUE_INITIALIZATION (closed: fixed)">#4080</a>. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>niels_dekker</dc:creator> <pubDate>Sat, 01 May 2010 22:28:26 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/4080#comment:7 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/4080#comment:7</guid> <description> <p> (In <a class="changeset" href="https://svn.boost.org/trac10/changeset/61725" title="Redid adding BOOST_NO_COMPLETE_VALUE_INITIALIZATION to IBM XL C++ &lt;= ...">[61725]</a>) Redid adding BOOST_NO_COMPLETE_VALUE_INITIALIZATION to IBM XL C++ &lt;= V10.1.0 (trunk), as <a class="changeset" href="https://svn.boost.org/trac10/changeset/61516" title="Added BOOST_NO_COMPLETE_VALUE_INITIALIZATION to IBM XL C++ &lt;= V10.1.0 ...">[61516]</a>. The addition of heap objects to boost_no_complete_value_initialization::test() <a class="changeset" href="https://svn.boost.org/trac10/changeset/61552" title="Added value-initialization tests for heap objects, added ...">[61552]</a> did not cause any extra failures. See <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/4080" title="#4080: Bugs: Various compilers need BOOST_NO_COMPLETE_VALUE_INITIALIZATION (closed: fixed)">#4080</a>. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>niels_dekker</dc:creator> <pubDate>Mon, 03 May 2010 17:43:57 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/4080#comment:8 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/4080#comment:8</guid> <description> <p> (In <a class="changeset" href="https://svn.boost.org/trac10/changeset/61744" title="Added BOOST_NO_COMPLETE_VALUE_INITIALIZATION to Sun &lt;= 5.10 (trunk), ...">[61744]</a>) Added BOOST_NO_COMPLETE_VALUE_INITIALIZATION to Sun &lt;= 5.10 (trunk), see <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/4080" title="#4080: Bugs: Various compilers need BOOST_NO_COMPLETE_VALUE_INITIALIZATION (closed: fixed)">#4080</a> </p> </description> <category>Ticket</category> </item> <item> <dc:creator>niels_dekker</dc:creator> <pubDate>Wed, 05 May 2010 20:46:42 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/4080#comment:9 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/4080#comment:9</guid> <description> <p> (In <a class="changeset" href="https://svn.boost.org/trac10/changeset/61799" title="Added BOOST_NO_COMPLETE_VALUE_INITIALIZATION to Microsoft Visual C++ ...">[61799]</a>) Added BOOST_NO_COMPLETE_VALUE_INITIALIZATION to Microsoft Visual C++ (trunk), see <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/4080" title="#4080: Bugs: Various compilers need BOOST_NO_COMPLETE_VALUE_INITIALIZATION (closed: fixed)">#4080</a>. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>niels_dekker</dc:creator> <pubDate>Fri, 07 May 2010 20:05:48 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/4080#comment:10 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/4080#comment:10</guid> <description> <p> (In <a class="changeset" href="https://svn.boost.org/trac10/changeset/61848" title="Added BOOST_NO_COMPLETE_VALUE_INITIALIZATION to IBM XL C++ &lt;= V11.0.1 ...">[61848]</a>) Added BOOST_NO_COMPLETE_VALUE_INITIALIZATION to IBM XL C++ &lt;= V11.0.1 (trunk), see <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/4080" title="#4080: Bugs: Various compilers need BOOST_NO_COMPLETE_VALUE_INITIALIZATION (closed: fixed)">#4080</a>. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>niels_dekker</dc:creator> <pubDate>Wed, 12 May 2010 18:23:35 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/4080#comment:11 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/4080#comment:11</guid> <description> <p> (In <a class="changeset" href="https://svn.boost.org/trac10/changeset/61933" title="Added BOOST_NO_COMPLETE_VALUE_INITIALIZATION to IBM XL C++ &lt;= V11.1 ...">[61933]</a>) Added BOOST_NO_COMPLETE_VALUE_INITIALIZATION to IBM XL C++ &lt;= V11.1 (trunk), see <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/4080" title="#4080: Bugs: Various compilers need BOOST_NO_COMPLETE_VALUE_INITIALIZATION (closed: fixed)">#4080</a>. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>niels_dekker</dc:creator> <pubDate>Fri, 14 May 2010 21:51:15 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/4080#comment:12 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/4080#comment:12</guid> <description> <p> (In <a class="changeset" href="https://svn.boost.org/trac10/changeset/61971" title="Added BOOST_NO_COMPLETE_VALUE_INITIALIZATION to clang (trunk), see #4080. ">[61971]</a>) Added BOOST_NO_COMPLETE_VALUE_INITIALIZATION to clang (trunk), see <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/4080" title="#4080: Bugs: Various compilers need BOOST_NO_COMPLETE_VALUE_INITIALIZATION (closed: fixed)">#4080</a>. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>niels_dekker</dc:creator> <pubDate>Wed, 19 May 2010 09:54:11 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/4080#comment:13 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/4080#comment:13</guid> <description> <p> (In <a class="changeset" href="https://svn.boost.org/trac10/changeset/62094" title="Added BOOST_NO_COMPLETE_VALUE_INITIALIZATION to VC++ 10.0 (trunk), see ...">[62094]</a>) Added BOOST_NO_COMPLETE_VALUE_INITIALIZATION to VC++ 10.0 (trunk), see <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/4080" title="#4080: Bugs: Various compilers need BOOST_NO_COMPLETE_VALUE_INITIALIZATION (closed: fixed)">#4080</a>. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>niels_dekker</dc:creator> <pubDate>Sat, 22 May 2010 22:27:29 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/4080#comment:14 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/4080#comment:14</guid> <description> <p> (In <a class="changeset" href="https://svn.boost.org/trac10/changeset/62159" title="Added BOOST_NO_COMPLETE_VALUE_INITIALIZATION to Intel C++ &lt;= 11.1 ...">[62159]</a>) Added BOOST_NO_COMPLETE_VALUE_INITIALIZATION to Intel C++ &lt;= 11.1 (trunk), see <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/4080" title="#4080: Bugs: Various compilers need BOOST_NO_COMPLETE_VALUE_INITIALIZATION (closed: fixed)">#4080</a>. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>viboes</dc:creator> <pubDate>Wed, 16 Jan 2013 23:10:39 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/4080#comment:15 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/4080#comment:15</guid> <description> <p> Couldn't this ticket be closed? </p> </description> <category>Ticket</category> </item> <item> <dc:creator>niels_dekker</dc:creator> <pubDate>Sun, 20 Jan 2013 14:37:52 GMT</pubDate> <title>status changed; resolution set https://svn.boost.org/trac10/ticket/4080#comment:16 https://svn.boost.org/trac10/ticket/4080#comment:16 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">fixed</span> </li> </ul> <p> Thanks, Vicente. I agree with you; I'll close the ticket. Of course future compiler versions might need this defect-macro as well... </p> <p> Note that for Microsoft Visual C++, with revision <a class="changeset" href="https://svn.boost.org/trac10/changeset/78468" title="VC11 still doesn't support value initialization correctly.">[78468]</a> the defect-macro is defined unconditionally (independent of its compiler version). Unfortunately the current Boost Config test cannot detect when this defect-macro is defined unnecessarily. (If a future version of Visual C++ would ever completely implement value-initialization, BOOST_NO_COMPLETE_VALUE_INITIALIZATION would still remain there for this compiler.) But that issue is beyond the scope of this ticket. </p> Ticket