[Boost-bugs] [Boost C++ Libraries] #6062: Incompatibility boost.unordered and boost.asio.

Subject: [Boost-bugs] [Boost C++ Libraries] #6062: Incompatibility boost.unordered and boost.asio.
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2011-10-26 16:49:01


#6062: Incompatibility boost.unordered and boost.asio.
------------------------------------------+---------------------------------
 Reporter: Vladislav <phprus@…> | Owner: danieljames
     Type: Bugs | Status: new
Milestone: Boost 1.48.0 | Component: unordered
  Version: Boost Release Branch | Severity: Showstopper
 Keywords: gcc icc |
------------------------------------------+---------------------------------
 Program:

 {{{
 #include <boost/asio.hpp>
 #include <boost/unordered_map.hpp>
 int main()
 {
         boost::unordered_map<void* , void* > umap;
         return 0;
 }
 }}}

 leads to errors (GCC 4.5.1):


 {{{
 phprus_at_notebook-hp6360b:~/science/workspace/Boost/testcase/1.48.0.beta1>
 gcc -I/home/phprus/opt/icmm/boost/1.48.0.beta1/include -c unorgered.cpp
 In file included from
 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/unordered/detail/buckets.hpp:16:0,
                  from
 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/unordered/detail/table.hpp:10,
                  from
 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/unordered/detail/equivalent.hpp:14,
                  from
 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/unordered/unordered_map.hpp:18,
                  from
 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/unordered_map.hpp:16,
                  from unorgered.cpp:2:
 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/unordered/detail/emplace_args.hpp:135:1:
 error: expected unqualified-id before numeric constant
 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/unordered/detail/emplace_args.hpp:135:1:
 error: expected ‘;’ before numeric constant
 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/unordered/detail/emplace_args.hpp:135:1:
 error: expected unqualified-id before numeric constant
 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/unordered/detail/emplace_args.hpp:135:1:
 error: expected unqualified-id before numeric constant
 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/unordered/detail/emplace_args.hpp:135:1:
 error: expected ‘)’ before numeric constant
 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/unordered/detail/emplace_args.hpp:135:1:
 error: expected unqualified-id before numeric constant
 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/unordered/detail/emplace_args.hpp:135:1:
 error: expected ‘;’ before numeric constant
 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/unordered/detail/emplace_args.hpp:135:1:
 error: expected unqualified-id before numeric constant
 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/unordered/detail/emplace_args.hpp:135:1:
 error: expected unqualified-id before numeric constant
 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/unordered/detail/emplace_args.hpp:135:1:
 error: expected ‘)’ before numeric constant
 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/unordered/detail/emplace_args.hpp:135:1:
 error: expected unqualified-id before numeric constant
 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/unordered/detail/emplace_args.hpp:135:1:
 error: expected ‘;’ before numeric constant
 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/unordered/detail/emplace_args.hpp:135:1:
 error: expected unqualified-id before numeric constant
 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/unordered/detail/emplace_args.hpp:135:1:
 error: expected unqualified-id before numeric constant
 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/unordered/detail/emplace_args.hpp:135:1:
 error: expected ‘)’ before numeric constant
 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/unordered/detail/emplace_args.hpp:135:1:
 error: expected unqualified-id before numeric constant
 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/unordered/detail/emplace_args.hpp:135:1:
 error: expected ‘;’ before numeric constant
 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/unordered/detail/emplace_args.hpp:135:1:
 error: expected unqualified-id before numeric constant
 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/unordered/detail/emplace_args.hpp:135:1:
 error: expected unqualified-id before numeric constant
 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/unordered/detail/emplace_args.hpp:135:1:
 error: expected ‘)’ before numeric constant
 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/unordered/detail/emplace_args.hpp:135:1:
 error: expected unqualified-id before numeric constant
 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/unordered/detail/emplace_args.hpp:135:1:
 error: expected ‘;’ before numeric constant
 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/unordered/detail/emplace_args.hpp:135:1:
 error: expected unqualified-id before numeric constant
 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/unordered/detail/emplace_args.hpp:135:1:
 error: expected unqualified-id before numeric constant
 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/unordered/detail/emplace_args.hpp:135:1:
 error: expected ‘)’ before numeric constant
 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/unordered/detail/emplace_args.hpp:135:1:
 error: expected unqualified-id before numeric constant
 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/unordered/detail/emplace_args.hpp:135:1:
 error: expected ‘;’ before numeric constant
 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/unordered/detail/emplace_args.hpp:135:1:
 error: expected unqualified-id before numeric constant
 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/unordered/detail/emplace_args.hpp:135:1:
 error: expected unqualified-id before numeric constant
 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/unordered/detail/emplace_args.hpp:135:1:
 error: expected ‘)’ before numeric constant
 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/unordered/detail/emplace_args.hpp:135:1:
 error: expected unqualified-id before numeric constant
 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/unordered/detail/emplace_args.hpp:135:1:
 error: expected ‘;’ before numeric constant
 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/unordered/detail/emplace_args.hpp:135:1:
 error: expected unqualified-id before numeric constant
 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/unordered/detail/emplace_args.hpp:135:1:
 error: expected unqualified-id before numeric constant
 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/unordered/detail/emplace_args.hpp:135:1:
 error: expected ‘)’ before numeric constant
 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/unordered/detail/emplace_args.hpp:135:1:
 error: expected unqualified-id before numeric constant
 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/unordered/detail/emplace_args.hpp:135:1:
 error: expected ‘;’ before numeric constant
 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/unordered/detail/emplace_args.hpp:135:1:
 error: expected unqualified-id before numeric constant
 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/unordered/detail/emplace_args.hpp:135:1:
 error: expected unqualified-id before numeric constant
 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/unordered/detail/emplace_args.hpp:135:1:
 error: expected ‘)’ before numeric constant
 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/unordered/detail/emplace_args.hpp:135:1:
 error: expected unqualified-id before numeric constant
 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/unordered/detail/emplace_args.hpp:135:1:
 error: expected ‘;’ before numeric constant
 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/unordered/detail/emplace_args.hpp:135:1:
 error: expected unqualified-id before numeric constant
 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/unordered/detail/emplace_args.hpp:135:1:
 error: expected unqualified-id before numeric constant
 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/unordered/detail/emplace_args.hpp:135:1:
 error: expected ‘)’ before numeric constant
 }}}

 or errors (Intel C++ 12.0.4):

 {{{
 phprus_at_notebook-hp6360b:~/science/workspace/Boost/testcase/1.48.0.beta1>
 icpc -I/home/phprus/opt/icmm/boost/1.48.0.beta1/include -c unorgered.cpp
 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/move/move.hpp(236):
 warning #1292: attribute "__may_alias__" ignored
      } BOOST_MOVE_ATTRIBUTE_MAY_ALIAS;
        ^

 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/unordered/detail/emplace_args.hpp(134):
 error: expected an identifier
   BOOST_PP_REPEAT_FROM_TO(1, BOOST_UNORDERED_EMPLACE_LIMIT,
 BOOST_UNORDERED_EARGS,
   ^

 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/unordered/detail/emplace_args.hpp(134):
 error: expected a declaration
   BOOST_PP_REPEAT_FROM_TO(1, BOOST_UNORDERED_EMPLACE_LIMIT,
 BOOST_UNORDERED_EARGS,
   ^

 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/unordered/detail/emplace_args.hpp(134):
 error: invalid type for a bit field
   BOOST_PP_REPEAT_FROM_TO(1, BOOST_UNORDERED_EMPLACE_LIMIT,
 BOOST_UNORDERED_EARGS,
   ^

 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/unordered/detail/emplace_args.hpp(134):
 error: identifier "a0" is undefined
   BOOST_PP_REPEAT_FROM_TO(1, BOOST_UNORDERED_EMPLACE_LIMIT,
 BOOST_UNORDERED_EARGS,
   ^

 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/unordered/detail/emplace_args.hpp(134):
 error: function call is not allowed in a constant expression
   BOOST_PP_REPEAT_FROM_TO(1, BOOST_UNORDERED_EMPLACE_LIMIT,
 BOOST_UNORDERED_EARGS,
   ^

 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/unordered/detail/emplace_args.hpp(134):
 error: expression must have a constant value
   BOOST_PP_REPEAT_FROM_TO(1, BOOST_UNORDERED_EMPLACE_LIMIT,
 BOOST_UNORDERED_EARGS,
   ^

 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/unordered/detail/emplace_args.hpp(134):
 error: expected a ";"
   BOOST_PP_REPEAT_FROM_TO(1, BOOST_UNORDERED_EMPLACE_LIMIT,
 BOOST_UNORDERED_EARGS,
   ^

 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/unordered/detail/emplace_args.hpp(134):
 error: expected a ")"
   BOOST_PP_REPEAT_FROM_TO(1, BOOST_UNORDERED_EMPLACE_LIMIT,
 BOOST_UNORDERED_EARGS,
   ^

 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/unordered/detail/emplace_args.hpp(134):
 error: "B1" has already been declared in the current scope
   BOOST_PP_REPEAT_FROM_TO(1, BOOST_UNORDERED_EMPLACE_LIMIT,
 BOOST_UNORDERED_EARGS,
   ^

 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/unordered/detail/emplace_args.hpp(134):
 warning #411: class template "boost::unordered::detail::emplace_args2<A0,
 A1>" defines no constructor to initialize the following:
             reference member "boost::unordered::detail::emplace_args2<A0,
 A1>::a1"
   BOOST_PP_REPEAT_FROM_TO(1, BOOST_UNORDERED_EMPLACE_LIMIT,
 BOOST_UNORDERED_EARGS,
   ^

 /home/phprus/opt/icmm/boost/1.48.0.beta1/include/boost/array.hpp(121):
 warning #279: controlling expression is constant
               BOOST_ASSERT( i < N && "out of range" );
               ^

 compilation aborted for unorgered.cpp (code 2)
 }}}

 OS: openSUSE 11.4 x86_64.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/6062>
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:07 UTC