for 4.2 versions of the policy-based associated containers, the individual debug macros were stripped out and the usual libstc++-designating-debug-mode macro was used. This is: _GLIBCXX_DEBUG. While doing this, I found a long-standing issue with the pb_ds hash-based containers and the debug mode: parts are missing. This isn't the case for tree and priority_que data structures, which work perfectly. This is apparently an issue for every version of pb_ds and pb_assoc that I've seen. Can be seen here: /mnt/share/src/gcc/libstdc++-v3/testsuite/ext/pb_ds/example/basic_map.cc:98: instantiated from here /mnt/share/bld/gcc/i686-pc-linux-gnu/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/debug_fn_imps.hpp:70: error: 'm_store_hash_indicator' is not a member of 'pb_ds::detail::types_traits<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, pb_ds::list_update<long unsigned int, float, std::equal_to<long unsigned int>, pb_ds::move_to_front_lu_policy<std::allocator<char> >, std::allocator<char> >, std::allocator<char>, false>' I'm not quite sure where this is supposed to come from.
Mine.
Subject: Bug 29367 Author: bkoz Date: Fri Sep 7 02:20:58 2007 New Revision: 128221 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=128221 Log: 2007-09-06 Benjamin Kosnik <bkoz@redhat.com> PR libstdc++/29367 * include/ext/pb_ds/detail/map_debug_base.hpp: From this.. * include/ext/pb_ds/detail/debug_map_base.hpp: ...to this. Rename map_debug_base to debug_map_base, add std::pair output extractors, change duplicate map_debug_base typedef in containers to debug_base. Use m_store_extra_indicator for m_store_hash_indicator. * include/ext/pb_ds/*: Likewise. * include/Makefile.am: Same. * include/Makefile.in: Regenerate. Added: trunk/libstdc++-v3/include/ext/pb_ds/detail/debug_map_base.hpp - copied, changed from r128207, trunk/libstdc++-v3/include/ext/pb_ds/detail/map_debug_base.hpp Removed: trunk/libstdc++-v3/include/ext/pb_ds/detail/map_debug_base.hpp Modified: trunk/libstdc++-v3/include/Makefile.am trunk/libstdc++-v3/include/Makefile.in trunk/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/bin_search_tree_.hpp trunk/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/constructors_destructor_fn_imps.hpp trunk/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/debug_fn_imps.hpp trunk/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/erase_fn_imps.hpp trunk/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/insert_fn_imps.hpp trunk/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/r_erase_fn_imps.hpp trunk/libstdc++-v3/include/ext/pb_ds/detail/bin_search_tree_/split_join_fn_imps.hpp trunk/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp trunk/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/cmp_fn_imps.hpp trunk/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_fn_imps.hpp trunk/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp trunk/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp trunk/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/debug_fn_imps.hpp trunk/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/debug_no_store_hash_fn_imps.hpp trunk/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/debug_store_hash_fn_imps.hpp trunk/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/erase_fn_imps.hpp trunk/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/erase_no_store_hash_fn_imps.hpp trunk/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/erase_store_hash_fn_imps.hpp trunk/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/info_fn_imps.hpp trunk/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/insert_no_store_hash_fn_imps.hpp trunk/libstdc++-v3/include/ext/pb_ds/detail/cc_hash_table_map_/insert_store_hash_fn_imps.hpp trunk/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_fn_imps.hpp trunk/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp trunk/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp trunk/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/debug_fn_imps.hpp trunk/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/debug_no_store_hash_fn_imps.hpp trunk/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/debug_store_hash_fn_imps.hpp trunk/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/erase_fn_imps.hpp trunk/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/erase_no_store_hash_fn_imps.hpp trunk/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/erase_store_hash_fn_imps.hpp trunk/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp trunk/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/insert_no_store_hash_fn_imps.hpp trunk/libstdc++-v3/include/ext/pb_ds/detail/gp_hash_table_map_/insert_store_hash_fn_imps.hpp trunk/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/constructor_destructor_fn_imps.hpp trunk/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/debug_fn_imps.hpp trunk/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/erase_fn_imps.hpp trunk/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/find_fn_imps.hpp trunk/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/insert_fn_imps.hpp trunk/libstdc++-v3/include/ext/pb_ds/detail/list_update_map_/lu_map_.hpp trunk/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/constructors_destructor_fn_imps.hpp trunk/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/debug_fn_imps.hpp trunk/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/erase_fn_imps.hpp trunk/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/ov_tree_map_.hpp trunk/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/split_join_fn_imps.hpp trunk/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/constructors_destructor_fn_imps.hpp trunk/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/debug_fn_imps.hpp trunk/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/erase_fn_imps.hpp trunk/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/find_fn_imps.hpp trunk/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/insert_join_fn_imps.hpp trunk/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/pat_trie_.hpp trunk/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/r_erase_fn_imps.hpp trunk/libstdc++-v3/include/ext/pb_ds/detail/pat_trie_/split_fn_imps.hpp trunk/libstdc++-v3/include/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_imp.hpp trunk/libstdc++-v3/include/ext/pb_ds/detail/types_traits.hpp trunk/libstdc++-v3/include/ext/pb_ds/tag_and_trait.hpp
Subject: Bug 29367 Author: bkoz Date: Fri Sep 7 02:25:45 2007 New Revision: 128222 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=128222 Log: 2007-09-06 Benjamin Kosnik <bkoz@redhat.com> PR libstdc++/29367 * include/ext/pb_ds/detail/map_debug_base.hpp: From this.. * include/ext/pb_ds/detail/debug_map_base.hpp: ...to this. Rename map_debug_base to debug_map_base, add std::pair output extractors, change duplicate map_debug_base typedef in containers to debug_base. Use m_store_extra_indicator for m_store_hash_indicator. * include/ext/pb_ds/*: Likewise. * include/Makefile.am: Same. * include/Makefile.in: Regenerate. Modified: trunk/libstdc++-v3/ChangeLog
Fixed.