Boost C++ Libraries: Ticket #2345: [mpl] Patch to improve support for CodeGear C++Builder 2009 https://svn.boost.org/trac10/ticket/2345 <p> The attached patch fixes workarounds for the latest <a class="missing wiki">CodeGear</a> (ex Borland) compiler. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/2345 Trac 1.4.3 Nicola Musatti Thu, 18 Sep 2008 22:26:33 GMT attachment set https://svn.boost.org/trac10/ticket/2345 https://svn.boost.org/trac10/ticket/2345 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">boost_mpl.patch</span> </li> </ul> Ticket Nicola Musatti Mon, 29 Sep 2008 22:19:42 GMT <link>https://svn.boost.org/trac10/ticket/2345#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/2345#comment:1</guid> <description> <p> Although I have commit privileges I'd rather have this patch reviewed before applying it myself (aleksey?) </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Aleksey Gurtovoy</dc:creator> <pubDate>Wed, 08 Oct 2008 02:33:25 GMT</pubDate> <title>status changed https://svn.boost.org/trac10/ticket/2345#comment:2 https://svn.boost.org/trac10/ticket/2345#comment:2 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">assigned</span> </li> </ul> Ticket Aleksey Gurtovoy Wed, 08 Oct 2008 02:50:24 GMT <link>https://svn.boost.org/trac10/ticket/2345#comment:3 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/2345#comment:3</guid> <description> <p> Overall, it looks good. A couple of questions: </p> <ol><li>In "assert.hpp", why </li></ol><pre class="wiki">-#if BOOST_WORKAROUND(__BORLANDC__, &gt;= 0x560) &amp;&amp; BOOST_WORKAROUND(__BORLANDC__, &lt; 0x600) \ +#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \ </pre><p> vs. </p> <pre class="wiki">-#if BOOST_WORKAROUND(__BORLANDC__, &gt;= 0x560) &amp;&amp; BOOST_WORKAROUND(__BORLANDC__, &lt; 0x600) \ +#if BOOST_WORKAROUND(__BORLANDC__, &gt;= 0x560) &amp;&amp; BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \ </pre><p> ? </p> <ol start="2"><li>In "quote.hpp", why </li></ol><pre class="wiki">-#if defined(BOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS) +#if defined(BOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS) &amp;&amp; !BOOST_WORKAROUND( __BORLANDC__, &gt;=0x590 ) # define BOOST_MPL_CFG_NO_QUOTE_TEMPLATE #endif </pre><p> vs. modifying BOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS condition in "aux_/config/ttp.hpp"? </p> <ol start="3"><li>Changes to "apply_wrap.hpp" and "quote.hpp" won't have any effect until we regenerate preprocessed headers. Were you testing the whole thing with BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS defined? </li></ol> </description> <category>Ticket</category> </item> <item> <dc:creator>Nicola Musatti</dc:creator> <pubDate>Wed, 08 Oct 2008 21:27:49 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/2345#comment:4 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/2345#comment:4</guid> <description> <p> Replying to <a class="ticket" href="https://svn.boost.org/trac10/ticket/2345#comment:3" title="Comment 3">agurtovoy</a>: </p> <p> First of all. keep in mind that I'm not the original author of most of the patches I submitted in the last few weeks. These are the work of Alisdair Meredith and his collegues at <a class="missing wiki">CodeGear</a>. I'm more or less just helping with getting them in shape for being applied to trunk. </p> <blockquote class="citation"> <p> Overall, it looks good. A couple of questions: </p> <ol><li>In "assert.hpp", why </li></ol><pre class="wiki">-#if BOOST_WORKAROUND(__BORLANDC__, &gt;= 0x560) &amp;&amp; BOOST_WORKAROUND(__BORLANDC__, &lt; 0x600) \ +#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \ </pre><p> vs. </p> <pre class="wiki">-#if BOOST_WORKAROUND(__BORLANDC__, &gt;= 0x560) &amp;&amp; BOOST_WORKAROUND(__BORLANDC__, &lt; 0x600) \ +#if BOOST_WORKAROUND(__BORLANDC__, &gt;= 0x560) &amp;&amp; BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x610)) \ </pre><p> ? </p> </blockquote> <p> I guess this is just meant as a simplification, as the last compiler before 5.6.0, i.e. 5.5.1 is about eight years old and not likely to be able to compile very much of current Boost anyway. </p> <blockquote class="citation"> <ol start="2"><li>In "quote.hpp", why </li></ol><pre class="wiki">-#if defined(BOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS) +#if defined(BOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS) &amp;&amp; !BOOST_WORKAROUND( __BORLANDC__, &gt;=0x590 ) # define BOOST_MPL_CFG_NO_QUOTE_TEMPLATE #endif </pre><p> vs. modifying BOOST_MPL_CFG_NO_TEMPLATE_TEMPLATE_PARAMETERS condition in "aux_/config/ttp.hpp"? </p> </blockquote> <p> I have no idea, sorry... </p> <blockquote class="citation"> <ol start="3"><li>Changes to "apply_wrap.hpp" and "quote.hpp" won't have any effect until we regenerate preprocessed headers. Were you testing the whole thing with BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS defined? </li></ol></blockquote> <p> Yes. My problem is I don't know how to regenerate the preprocessed headers for this compiler; still either that needs to be done or needs to be defined BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS, if just on a temporary basis. </p> <p> Cheers, Nicola </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Nicola Musatti</dc:creator> <pubDate>Thu, 09 Oct 2008 22:07:45 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/2345#comment:5 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/2345#comment:5</guid> <description> <p> I took the liberty of committing this patch to trunk, as tonight is the last chance to get it through a trunk regression test run and still make it into 1.37 . Ready to revert in case of problems. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Aleksey Gurtovoy</dc:creator> <pubDate>Fri, 10 Oct 2008 10:51:19 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/2345#comment:6 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/2345#comment:6</guid> <description> <p> Thanks. I've made a couple of small fixes and regenerated corresponding preprocessed headers. Let's see how this turns out. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Aleksey Gurtovoy</dc:creator> <pubDate>Sun, 12 Oct 2008 22:24:32 GMT</pubDate> <title>status changed; resolution set https://svn.boost.org/trac10/ticket/2345#comment:7 https://svn.boost.org/trac10/ticket/2345#comment:7 <ul> <li><strong>status</strong> <span class="trac-field-old">assigned</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">fixed</span> </li> </ul> <p> Merged to the release branch. </p> Ticket