[Boost-bugs] [Boost C++ Libraries] #7203: Boost Proto conflict with Asio / Linux

Subject: [Boost-bugs] [Boost C++ Libraries] #7203: Boost Proto conflict with Asio / Linux
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2012-08-07 19:08:37


#7203: Boost Proto conflict with Asio / Linux
------------------------------------------+---------------------------------
 Reporter: ramon.casellas@… | Owner: eric_niebler
     Type: Bugs | Status: new
Milestone: Boost 1.51.0 | Component: proto
  Version: Boost Development Trunk | Severity: Regression
 Keywords: proto B0 asio Linux conflict |
------------------------------------------+---------------------------------
 Dear Boost Proto maintainer,

 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)
 {{{
 ./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 */

 }}}

 Can something be done at the Boost Proto level?
 Thanks,
 R.

 http://boost.2283326.n4.nabble.com/spirit2-conflict-with-asio-header-
 td2659901.html

 {{{
 /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 ‘>’ 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: ‘<anonymous>’
 /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 ‘>’ 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<class Ret> template<int <anonymous> > struct
 boost::proto::detail::expand_pattern_rest_0<Ret>::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 ‘>’ 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

 }}}

 Replacing B0 with BB0 fixes it

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/7203>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:10 UTC