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: dag@… 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)

test.cc (120 bytes ) - added by dag@… 13 years ago.
Initial testcase. Compile with g++ -D_GLIBCXX_DEBUG

Download all attachments as: .zip

Change History (3)

by dag@…, 13 years ago

Attachment: test.cc added

Initial testcase. Compile with g++ -D_GLIBCXX_DEBUG

comment:1 by anonymous, 13 years ago

Component: Nonespirit
Owner: set to Joel de Guzman
Severity: ProblemRegression

comment:2 by Steven Watanabe, 13 years ago

Resolution: duplicate
Status: newclosed

This has already been fixed. See #3081.

Note: See TracTickets for help on using tickets.