id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 6062,Incompatibility boost.unordered and boost.asio.,Vladislav ,Daniel James,"Program: {{{ #include #include int main() { boost::unordered_map umap; return 0; } }}} leads to errors (GCC 4.5.1): {{{ phprus@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@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"" defines no constructor to initialize the following: reference member ""boost::unordered::detail::emplace_args2::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.",Bugs,closed,Boost 1.48.0,unordered,Boost Release Branch,Showstopper,fixed,gcc icc,