Opened 8 years ago

Closed 8 years ago

#10930 closed Bugs (fixed)

container std_fwd.hpp neglects custom std namespaces

Reported by: dmorilha@… Owned by: Ion Gaztañaga
Milestone: To Be Determined Component: container
Version: Boost 1.57.0 Severity: Problem
Keywords: std namespace libstdc++ BOOST_CONTAINER_STD_NS_BEG Cc:

Description

I've a special gcc with versioned libstdc++ std namespace (compiled with --enable-symvers=gnu-versioned-namespace).

The file container/detail/std_fwd.hpp fails to detect that and assumes std namespace to be "std" [1]. It generates problems during compilation.

My current workaround is to define the header macro in the compiler's argument list and remove this file content out.

A different fix - possibly detecting the proper std namespace - would be ideal here.

[1]:

//github.com/boostorg/container/blob/5d6123152cceb8f412f1f67829055232116bdb87/include/boost/container/detail/std_fwd.hpp#L29

#else
   #define BOOST_CONTAINER_STD_NS_BEG namespace std{
   #define BOOST_CONTAINER_STD_NS_END }
#endif

Change History (4)

comment:1 by viboes, 8 years ago

Component: Nonecontainer
Owner: set to Ion Gaztañaga

comment:2 by Ion Gaztañaga, 8 years ago

Current develop and master branches contain code that tries to detect GCC std namespace versioning macro:

http://www.boost.org/doc/libs/master/boost/container/detail/std_fwd.hpp

Would this fix your problem?

comment:3 by dmorilha@…, 8 years ago

It compiles all right, so I guess it fixes the problem.

comment:4 by Ion Gaztañaga, 8 years ago

Resolution: fixed
Status: newclosed

Thanks for the report. Fixed in release branch for boost 1.58.

Note: See TracTickets for help on using tickets.