Here is the patch removing names_size. We found out it was write-only and that we could remove it.
I tested it with a full bootstrap build as well as a full regression test (make check-g++). (actually one of the pph test fails, but that's because of a line number issue in where we expect the ICE... I'll have to re-upload the patch as the script already submitted the files...) 2011-06-22 Gabriel Charette <gch...@google.com> * gcc/cp/name-lookup.h (cp_binding_level): Removed unused member names_size. Update all users. diff --git a/gcc/cp/name-lookup.c b/gcc/cp/name-lookup.c index 54977ce..297c57e 100644 --- a/gcc/cp/name-lookup.c +++ b/gcc/cp/name-lookup.c @@ -544,7 +544,6 @@ add_decl_to_level (tree decl, cxx_scope *b) necessary. */ TREE_CHAIN (decl) = b->names; b->names = decl; - b->names_size++; /* If appropriate, add decl to separate list of statics. We include extern variables because they might turn out to be diff --git a/gcc/cp/name-lookup.h b/gcc/cp/name-lookup.h index 009b5d9..5f266eb 100644 --- a/gcc/cp/name-lookup.h +++ b/gcc/cp/name-lookup.h @@ -191,9 +191,6 @@ struct GTY(()) cp_binding_level { are wrapped in TREE_LISTs; the TREE_VALUE is the OVERLOAD. */ tree names; - /* Count of elements in names chain. */ - size_t names_size; - /* A chain of NAMESPACE_DECL nodes. */ tree namespaces; diff --git a/gcc/cp/pph-streamer-in.c b/gcc/cp/pph-streamer-in.c index 0e8c6bf..a535cab 100644 --- a/gcc/cp/pph-streamer-in.c +++ b/gcc/cp/pph-streamer-in.c @@ -442,7 +442,6 @@ pph_in_binding_level (pph_stream *stream) ALLOC_AND_REGISTER (stream, ix, bl, ggc_alloc_cleared_cp_binding_level ()); bl->names = pph_in_chain (stream); - bl->names_size = pph_in_uint (stream); bl->namespaces = pph_in_chain (stream); bl->static_decls = pph_in_tree_vec (stream); diff --git a/gcc/cp/pph-streamer-out.c b/gcc/cp/pph-streamer-out.c index f219cef..7a6c516 100644 --- a/gcc/cp/pph-streamer-out.c +++ b/gcc/cp/pph-streamer-out.c @@ -448,7 +448,6 @@ pph_out_binding_level (pph_stream *stream, struct cp_binding_level *bl, return; pph_out_chain_filtered (stream, bl->names, ref_p, NO_BUILTINS); - pph_out_uint (stream, bl->names_size); pph_out_chain_filtered (stream, bl->namespaces, ref_p, NO_BUILTINS); pph_out_tree_vec (stream, bl->static_decls, ref_p); -- This patch is available for review at http://codereview.appspot.com/4634071