Subject: [Boost-bugs] [Boost C++ Libraries] #6287: hardcoded fwd declarations don't work for gcc configured withor --enable-symvers=gnu-versioned-namespace
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2011-12-17 21:58:32
#6287: hardcoded fwd declarations don't work for gcc configured withor --enable-
symvers=gnu-versioned-namespace
------------------------------+---------------------------------------------
Reporter: pluto@⦠| Owner: igaztanaga
Type: Bugs | Status: new
Milestone: To Be Determined | Component: interprocess
Version: Boost 1.48.0 | Severity: Showstopper
Keywords: |
------------------------------+---------------------------------------------
hi,
the --enable-symvers=gnu-versioned-namespace gcc's configure option
introduces a new versioned std::__7:: namespace and all these hardcoded
std:: forward declarations won't work.
{{{
#include <boost/interprocess/interprocess_fwd.hpp>
#include <utility>
int main()
{
    std::pair< int, int > p;
}
}}}
$ /local/devel/toolchain46/x86_64-gnu-linux.host64/bin/x86_64-gnu-
linux-g++
t.cpp -c -isystem /usr/include
t.cpp: In function 'int main()':
t.cpp:5:2: error: reference to 'pair' is ambiguous
/usr/include/boost/interprocess/interprocess_fwd.hpp:47:8: error:
candidates
are: template<class T1, class T2> struct std::pair
/local/devel/toolchain46/x86_64-gnu-linux.host64/lib64/gcc/x86_64-gnu-
linux/4.6.3/../../../../x86_64-gnu-
linux/include/c++/4.6.3/bits/stl_pair.h:87:12: error:
template<class _T1, class _T2> struct std::__7::pair
t.cpp:5:13: error: expected primary-expression before 'int'
t.cpp:5:13: error: expected ';' before 'int'
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/6287> 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