This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: pb_ds debug mode patch
On Fri, 06 May 2011 21:29:53 +0200
FranÃois Dumont <francois.cppdevs@free.fr> wrote:
> Here is what I came to for the moment:
>
> 2011-05-06 FranÃois Dumont <francois.cppdevs@free.fr>
>
> * include/debug/macro.h (_GLIBCXX_DEBUG_VERIFY_AT): New.
> (_GLICXX_DEBUG_VERIFY): Use latter.
> * include/ext/pb_ds/detail/resize_policy/
> hash_load_check_resize_trigger_imp.hpp: Emit assertion on the
> line containing the original assert call.
> * include/ext/pb_ds/detail/binomial_heap_base_/erase_fn_imps.hpp,
> find_fn_imps.hpp, insert_fn_imps.hpp, binomial_heap_base_.hpp,
> constructors_destructor_fn_imps.hpp, debug_fn_imps.hpp,
> split_join_fn_imps.hpp: Likewise.
> * include/ext/pb_ds/detail/cc_hash_table_map_/
> erase_store_hash_fn_imps.hpp, insert_no_store_hash_fn_imps.hpp,
> find_fn_imps.hpp, insert_store_hash_fn_imps.hpp,
> debug_fn_imps.hpp, debug_no_store_hash_fn_imps.hpp, cc_ht_map_.hpp,
> resize_fn_imps.hpp, constructor_destructor_fn_imps.hpp,
> debug_store_hash_fn_imps.hpp, erase_no_store_hash_fn_imps.hpp:
> Likewise.
> * include/ext/pb_ds/detail/pat_trie_/find_fn_imps.hpp,
> insert_join_fn_imps.hpp, pat_trie_/head.hpp, debug_fn_imps.hpp,
> constructors_destructor_fn_imps.hpp, pat_trie_.hpp,
> split_fn_imps.hpp, leaf.hpp, erase_fn_imps.hpp, node_base.hpp,
> internal_node.hpp: Likewise.
> * include/ext/pb_ds/detail/bin_search_tree_/find_fn_imps.hpp,
> r_erase_fn_imps.hpp, constructors_destructor_fn_imps.hpp,
> debug_fn_imps.hpp, rotate_fn_imps.hpp, erase_fn_imps.hpp,
> bin_search_tree_.hpp, insert_fn_imps.hpp, split_join_fn_imps.hpp:
> Likewise.
> * include/ext/pb_ds/detail/gp_hash_table_map_/
> erase_store_hash_fn_imps.hpp, insert_no_store_hash_fn_imps.hpp,
> find_fn_imps.hpp, gp_ht_map_.hpp, insert_store_hash_fn_imps.hpp,
> debug_fn_imps.hpp, erase_fn_imps.hpp,
> debug_no_store_hash_fn_imps.hpp, resize_fn_imps.hpp,
> constructor_destructor_fn_imps.hpp, debug_store_hash_fn_imps.hpp,
> erase_no_store_hash_fn_imps.hpp: Likewise.
> * include/ext/pb_ds/detail/binary_heap_/find_fn_imps.hpp,
> constructors_destructor_fn_imps.hpp, debug_fn_imps.hpp,
> erase_fn_imps.hpp, insert_fn_imps.hpp, binary_heap_.hpp,
> resize_policy.hpp, split_join_fn_imps.hpp: Likewise.
> * include/ext/pb_ds/detail/pairing_heap_/erase_fn_imps.hpp,
> find_fn_imps.hpp, insert_fn_imps.hpp,
> constructors_destructor_fn_imps.hpp, debug_fn_imps.hpp,
> pairing_heap_.hpp, split_join_fn_imps.hpp: Likewise.
> * include/ext/pb_ds/detail/binomial_heap_/
> constructors_destructor_fn_imps.hpp, debug_fn_imps.hpp,
> binomial_heap_.hpp: Likewise.
> * include/ext/pb_ds/detail/left_child_next_sibling_heap_/
> erase_fn_imps.hpp, left_child_next_sibling_heap_.hpp,
> constructors_destructor_fn_imps.hpp, debug_fn_imps.hpp: Likewise.
> * include/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp,
> find_fn_imps.hpp, thin_heap_.hpp, insert_fn_imps.hpp,
> constructors_destructor_fn_imps.hpp, debug_fn_imps.hpp,
> split_join_fn_imps.hpp: Likewise.
> * include/ext/pb_ds/detail/ov_tree_map_/erase_fn_imps.hpp,
> ov_tree_map_.hpp, constructors_destructor_fn_imps.hpp,
> debug_fn_imps.hpp, split_join_fn_imps.hpp, info_fn_imps.hpp:
> Likewise.
> * include/ext/pb_ds/detail/debug_map_base.hpp: Likewise.
> * include/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp,
> find_fn_imps.hpp, insert_fn_imps.hpp,
> constructors_destructor_fn_imps.hpp, debug_fn_imps.hpp,
> splay_fn_imps.hpp, split_join_fn_imps.hpp, splay_tree_.hpp:
> Likewise.
> * include/ext/pb_ds/detail/list_update_map_/erase_fn_imps.hpp,
> find_fn_imps.hpp, lu_map_.hpp,
> constructor_destructor_fn_imps.hpp, insert_fn_imps.hpp,
> debug_fn_imps.hpp: Likewise.
> * include/ext/pb_ds/detail/rc_binomial_heap_/erase_fn_imps.hpp,
> rc_binomial_heap_.hpp, insert_fn_imps.hpp,
> constructors_destructor_fn_imps.hpp, debug_fn_imps.hpp, rc.hpp,
> split_join_fn_imps.hpp: Likewise.
> * include/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp,
> insert_fn_imps.hpp, constructors_destructor_fn_imps.hpp,
> debug_fn_imps.hpp, rb_tree_.hpp, split_join_fn_imps.hpp:
> Likewise.
> * include/ext/pb_ds/hash_policy.hpp: Likewise.
Excellent work on this!
> I wonder if it is really necessary to report with details all fixes
> regarding debug mode ?
Not really. Just filenames if possible, as per Jonathan. You've already
got that, it's fine.
Refactoring on this codebase can lead to massive CL entries so you have
some latitude here. Don't go crazy trying to impress us with detail in
the ChangeLog, just send the details in email to the list.
;)
> I agree that I should avoid duplication of debug macro definitions so
> I will submit a new patch on monday evening Paris time.
Yes, but let's worry about this later. Can you check this patch in now
please? I want to re-base on top of this.
-benjamin