Opened 8 years ago
Closed 8 years ago
#10930 closed Bugs (fixed)
container std_fwd.hpp neglects custom std namespaces
| Reported by: | 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 , 8 years ago
| Component: | None → container |
|---|---|
| Owner: | set to |
comment:2 by , 8 years ago
comment:4 by , 8 years ago
| Resolution: | → fixed |
|---|---|
| Status: | new → closed |
Thanks for the report. Fixed in release branch for boost 1.58.
Note:
See TracTickets
for help on using tickets.

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?