Opened 13 years ago
Closed 13 years ago
#3574 closed Bugs (duplicate)
Miscompile of Phoenix is_std_map and friends with -D_GLIBCXX_DEBUG
Reported by: | Owned by: | Joel de Guzman | |
---|---|---|---|
Milestone: | Boost 1.41.0 | Component: | spirit |
Version: | Boost 1.40.0 | Severity: | Regression |
Keywords: | Cc: |
Description
The attached test fails to compile with -D_GLIBCXX_DEBUG:
include/boost/spirit/home/phoenix/stl/algorithm/detail/is_std_map.hpp:38: error: wrong number of template arguments (4, should be 1) include/boost/spirit/home/phoenix/stl/algorithm/detail/is_std_map.hpp:28: error: provided for ‘template<class T> struct boost::is_std_map’ include/boost/spirit/home/phoenix/stl/algorithm/detail/is_std_map.hpp:38: error: expected unqualified-id before ‘>’ token include/boost/spirit/home/phoenix/stl/algorithm/detail/is_std_map.hpp:53: error: wrong number of template arguments (4, should be 1) include/boost/spirit/home/phoenix/stl/algorithm/detail/is_std_map.hpp:43: error: provided for ‘template<class T> struct boost::is_std_multimap’ include/boost/spirit/home/phoenix/stl/algorithm/detail/is_std_map.hpp:53: error: expected unqualified-id before ‘>’ token
I believe the problem is with the forward-declaration of std::map and friends. If I preprocess and remove the forward declarations, it works.
Similar problems exist with is_std_set and is_std_list, at least. Probably all the tests for standard containers are broken.
Attachments (1)
Change History (3)
by , 13 years ago
comment:1 by , 13 years ago
Component: | None → spirit |
---|---|
Owner: | set to |
Severity: | Problem → Regression |
comment:2 by , 13 years ago
Resolution: | → duplicate |
---|---|
Status: | new → closed |
This has already been fixed. See #3081.
Initial testcase. Compile with g++ -D_GLIBCXX_DEBUG