[Boost-bugs] [Boost C++ Libraries] #6319: message_queue fails to compile with gcc 3.4.6 - ambiguous class template instantiation

Subject: [Boost-bugs] [Boost C++ Libraries] #6319: message_queue fails to compile with gcc 3.4.6 - ambiguous class template instantiation
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2011-12-23 20:49:32


#6319: message_queue fails to compile with gcc 3.4.6 - ambiguous class template
instantiation
------------------------------------+---------------------------------------
 Reporter: slingn@… | Owner: igaztanaga
     Type: Bugs | Status: new
Milestone: To Be Determined | Component: interprocess
  Version: Boost 1.48.0 | Severity: Regression
 Keywords: |
------------------------------------+---------------------------------------
 message_queue compiled with gcc 3.4.6 in boost 1.47.0.

 On CentOS release 5.7:


 {{{
 $ cd boost_1_48_0/libs/interprocess/example
 }}}


 gcc 4.4 works fine:


 {{{
 $ g++44 -I/opt/rotateright/include -L/opt/rotateright/lib -lboost_thread
 comp_doc_message_queueB.cpp -o test
 $
 }}}


 but gcc 3.4:


 {{{
 $ g++34 -I/opt/rotateright/include -L/opt/rotateright/lib -lboost_thread
 comp_doc_message_queueB.cpp -o test
 /opt/rotateright/include/boost/interprocess/ipc/message_queue.hpp: In
 instantiation of
 `boost::interprocess::message_queue_t<boost::interprocess::offset_ptr<void,
 ptrdiff_t, size_t, 0u> >':
 comp_doc_message_queueB.cpp:23: instantiated from here
 /opt/rotateright/include/boost/interprocess/ipc/message_queue.hpp:57:
 error: ambiguous class template instantiation for `struct
 boost::pointer_to_other<boost::interprocess::offset_ptr<void, ptrdiff_t,
 size_t, 0u>, char>'
 /opt/rotateright/include/boost/interprocess/offset_ptr.hpp:490: error:
 candidates are: struct
 boost::pointer_to_other<boost::interprocess::offset_ptr<T1, P1, O1, A1>,
 U>
 /opt/rotateright/include/boost/pointer_to_other.hpp:43: error:
 struct boost::pointer_to_other<Sp<T, T2, T3>, U>
 /opt/rotateright/include/boost/pointer_to_other.hpp:36: error:
 struct boost::pointer_to_other<Sp<T, T2>, U>
 /opt/rotateright/include/boost/pointer_to_other.hpp:29: error:
 struct boost::pointer_to_other<Sp<T>, U>
 /opt/rotateright/include/boost/interprocess/ipc/message_queue.hpp:57:
 error: invalid use of undefined type `struct
 boost::pointer_to_other<boost::interprocess::offset_ptr<void, ptrdiff_t,
 size_t, 0u>, char>'
 /opt/rotateright/include/boost/pointer_to_other.hpp:24: error: declaration
 of `struct boost::pointer_to_other<boost::interprocess::offset_ptr<void,
 ptrdiff_t, size_t, 0u>, char>'
 ...
 }}}

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