Opened 11 years ago

Closed 11 years ago

#6287 closed Bugs (fixed)

hardcoded fwd declarations don't work for gcc configured withor --enable-symvers=gnu-versioned-namespace

Reported by: pluto@… Owned by: Ion Gaztañaga
Milestone: To Be Determined Component: interprocess
Version: Boost 1.48.0 Severity: Showstopper
Keywords: Cc:

Description

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'

Change History (1)

comment:1 by Ion Gaztañaga, 11 years ago

Resolution: fixed
Status: newclosed

Fixed in trunk at revision: 76114

Note: See TracTickets for help on using tickets.