Boost C++ Libraries: Ticket #7203: Boost Proto conflict with Asio / Linux https://svn.boost.org/trac10/ticket/7203 <p> Dear Boost Proto maintainer, </p> <p> This bug (or variation) seems to be open for boost trunk and release (1.51). The problem seems to be that B0 can be defined in Linux (e.g. included via asio) </p> <pre class="wiki">./asm-generic/termbits.h:113:2619:#define B0 0000000 /* hang up */ ./rpcsvc/rex.h:53:809:#define B0 0 ./x86_64-linux-gnu/bits/termios.h:122:3149:#define B0 0000000 /* hang up */ </pre><p> Can something be done at the Boost Proto level? Thanks, R. </p> <p> <a class="ext-link" href="http://boost.2283326.n4.nabble.com/spirit2-conflict-with-asio-header-td2659901.html"><span class="icon">​</span>http://boost.2283326.n4.nabble.com/spirit2-conflict-with-asio-header-td2659901.html</a> </p> <pre class="wiki">/adnet/boost-1.51.0/include/boost/proto/transform/detail/preprocessed/pack_impl.hpp:23:31: error: expected nested-name-specifier before numeric constant /adnet/boost-1.51.0/include/boost/proto/transform/detail/preprocessed/pack_impl.hpp:23:31: error: expected ‘&gt;’ before numeric constant /adnet/boost-1.51.0/include/boost/proto/transform/detail/preprocessed/pack_impl.hpp:24:20: error: template parameters not used in partial specialization: /adnet/boost-1.51.0/include/boost/proto/transform/detail/preprocessed/pack_impl.hpp:24:20: error: ‘&lt;anonymous&gt;’ /adnet/boost-1.51.0/include/boost/proto/transform/detail/preprocessed/pack_impl.hpp:28:31: error: expected nested-name-specifier before numeric constant /adnet/boost-1.51.0/include/boost/proto/transform/detail/preprocessed/pack_impl.hpp:28:31: error: expected ‘&gt;’ before numeric constant /adnet/boost-1.51.0/include/boost/proto/transform/detail/preprocessed/pack_impl.hpp:29:34: error: ‘B1’ was not declared in this scope /adnet/boost-1.51.0/include/boost/proto/transform/detail/preprocessed/pack_impl.hpp:29:36: error: wrong number of template arguments (2, should be 1) /adnet/boost-1.51.0/include/boost/proto/transform/detail/preprocessed/pack_impl.hpp:22:20: error: provided for ‘template&lt;class Ret&gt; template&lt;int &lt;anonymous&gt; &gt; struct boost::proto::detail::expand_pattern_rest_0&lt;Ret&gt;::cat’ /adnet/boost-1.51.0/include/boost/proto/transform/detail/preprocessed/pack_impl.hpp:33:31: error: expected nested-name-specifier before numeric constant /adnet/boost-1.51.0/include/boost/proto/transform/detail/preprocessed/pack_impl.hpp:33:31: error: expected ‘&gt;’ before numeric constant /adnet/boost-1.51.0/include/boost/proto/transform/detail/preprocessed/pack_impl.hpp:34:34: error: ‘B1’ was not declared in this scope /adnet/boost-1.51.0/include/boost/proto/transform/detail/preprocessed/pack_impl.hpp:34:39: error: ‘B2’ was not declared in this scope </pre><p> Replacing B0 with BB0 fixes it </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/7203 Trac 1.4.3 Eric Niebler Tue, 07 Aug 2012 23:24:23 GMT <link>https://svn.boost.org/trac10/ticket/7203#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/7203#comment:1</guid> <description> <p> (In <a class="changeset" href="https://svn.boost.org/trac10/changeset/79918" title="don't use B0, conflict with a macro on Linux, references #7203">[79918]</a>) don't use B0, conflict with a macro on Linux, references <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/7203" title="#7203: Bugs: Boost Proto conflict with Asio / Linux (closed: fixed)">#7203</a> </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Eric Niebler</dc:creator> <pubDate>Wed, 08 Aug 2012 19:14:06 GMT</pubDate> <title>status changed; resolution set https://svn.boost.org/trac10/ticket/7203#comment:2 https://svn.boost.org/trac10/ticket/7203#comment:2 <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> (In <a class="changeset" href="https://svn.boost.org/trac10/changeset/79934" title="merge [79918] from trunk, fixes #7203">[79934]</a>) merge <a class="changeset" href="https://svn.boost.org/trac10/changeset/79918" title="don't use B0, conflict with a macro on Linux, references #7203">[79918]</a> from trunk, fixes <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/7203" title="#7203: Bugs: Boost Proto conflict with Asio / Linux (closed: fixed)">#7203</a> </p> Ticket