pb_ds debug mode patch
Benjamin Kosnik
bkoz@redhat.com
Thu Apr 7 00:56:00 GMT 2011
>
> This is a first proposition of patch to the pb_ds debug mode to
> enhance assertion messages. I was surprised to discover thanks to it
> some issues in the debug part of pb_ds code that was not shown
> previously:
> - invalid call to the debug_base copy constructor in
> cc_hash_table_map_/constructor_destructor_fn_imps.hpp making the
> global state of the object invalid on the first assert_valid call
> - idem in
> pb_ds/detail/ov_tree_map_/constructors_destructor_fn_imps.hpp
> - invalid assertion in
> pb_ds/detail/list_update_map_/erase_fn_imps.hpp erase_after method,
> it can be called on m_p_l
Nice work.
> However I still have failures that I can't resolved for the moment:
> FAIL: ext/pb_ds/regression/tree_data_map_rand.cc execution test
> FAIL: ext/pb_ds/regression/tree_no_data_map_rand.cc execution test
These exist in the tree currently, independent of this patch.
> Each time the problem is:
> /home/fdt/dev/gcc-trunk-build/x86_64-unknown-linux-gnu/libstdc++-v3/include/ext/pb_ds/detail/ov_tree_map_/constructors_destructor_fn_imps.hpp:247:
> check_size 13 != 4
>
> debug container is not maintained correctly but I can't find where it
> come from. Anyone can have a try ?
I've not been able to debug this. In the meantime, I would suggest
checking in the work you've done with this patch. And then iterating
any additional work.
-benjamin
More information about the Libstdc++
mailing list