pb_ds debug mode patch
Benjamin Kosnik
bkoz@redhat.com
Fri May 6 21:38:00 GMT 2011
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
More information about the Libstdc++
mailing list