r179636 - in /branches/pph/gcc: cp/ChangeLog.pp...

crowl@gcc.gnu.org crowl@gcc.gnu.org
Thu Oct 6 21:05:00 GMT 2011


Author: crowl
Date: Thu Oct  6 21:05:40 2011
New Revision: 179636

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=179636
Log:
Merge symbols.  This patch doesn't actually fix anything, but it does
reorganize to address known issues.  In particular, the code shifts
from merging into a namespace to merging into a particular chain.
This prevents a latent bug in merging into inappropriate chains.  It
also sets us up to merge structs, which we may need due to users
binding directly to members.


Index: gcc/testsuite/ChangeLog.pph

2011-10-06   Lawrence Crowl  <crowl@google.com>

	* g++.dg/pph/c4inline.cc: Clarify failure.
	* g++.dg/pph/x4keyno.cc: Clarify failure.
	* g++.dg/pph/x4keyex.cc: Clarify failure.
	* g++.dg/pph/x4keyed.cc: Clarify failure.
	* g++.dg/pph/x0tmplclass23.h: Fix header guard variables.

Index: gcc/cp/ChangeLog.pph

2011-10-06   Lawrence Crowl  <crowl@google.com>

        * pt.c (pph_in_pending_templates_list): Send pph logging to
	the pph log file.
	* pph.c (pph_tree_code_text): Correct specification of enum bound.
	* pph-streamer-in.c (pph_in_namespace_tree_vec):  Remove.
	(pph_in_binding_level): Change to mutator.  Mutate early so that
	the result is usable while reading sub-trees.
	(pph_in_tcc_declaration): Comment on redundancy.
	(pph_match_to_overload): New.
	(pph_match_to_function): New.
	(pph_match_to_link): New.
	(pph_search_in_chain): New.
	(pph_prepend_to_chain): New.
	(pph_merge_into_chain): New.
	(pph_read_namespace_tree): Rename to pph_read_any_tree.  Mutate
	a specific chain rather than mutate a namespace.
	(pph_read_tree): Move within source.
	(pph_read_mergeable_tree): New.
        (pph_read_mergeable_chain): Chaining is now done by
	pph_in_mergeable_tree.
	* pph-streamer-out.c (pph_out_namespace_tree_vec):  Rename to
	pph_out_mergeable_tree_vec.  Remove unneeded namespace parameter.
	(pph_out_namespace_tree_vec_filtered): Remove unneeded.
	(pph_write_namespace_chain): Replace with pph_write_mergeable_chain.	
	(pph_write_mergeable_links): New.
	(pph_out_namespace_chain_filtered):  Rename to
	pph_out_mergeable_chain_filtered.  Remove unneeded namespace parameter.
	(pph_out_binding_level_1): Adjust code to track the above changes.
	->static_decls are already in declaration order, factor them out of
	mergable tests.
	(pph_out_tcc_declaration): Comment on redundancy.
	(pph_out_tcc_type): Comment on redundancy.
	(pph_write_namespace_tree): Rename to pph_write_any_tree.
	Change namespace parameter to boolean.  Emit location info for merging.
	(pph_write_mergeable_tree): New.
	* pph-streamer.h: Modify function declarations to reflect the above.
	(pph_out_namespace_tree): Rename to pph_out_mergeable_tree.  Remove
	unneeded namespace argument.
	(pph_out_namespace_tree_1): Fold into pph_out_mergeable_tree.
	(pph_out_namespace_chain): Rname to pph_out_mergeable_chain.  Remove
	unneeded namespace argument.
	(pph_in_namespace_tree): Rname to pph_in_mergeable_tree.  Change
	argument to chain instead of namespace.
	(pph_in_namespace_chain): Rname to pph_in_mergeable_chain.  Change
	argument to chain instead of namespace.



Modified:
    branches/pph/gcc/cp/ChangeLog.pph
    branches/pph/gcc/cp/pph-streamer-in.c
    branches/pph/gcc/cp/pph-streamer-out.c
    branches/pph/gcc/cp/pph-streamer.h
    branches/pph/gcc/cp/pph.c
    branches/pph/gcc/cp/pt.c
    branches/pph/gcc/testsuite/ChangeLog.pph
    branches/pph/gcc/testsuite/g++.dg/pph/c4inline.cc
    branches/pph/gcc/testsuite/g++.dg/pph/x0tmplclass23.h
    branches/pph/gcc/testsuite/g++.dg/pph/x4keyed.cc
    branches/pph/gcc/testsuite/g++.dg/pph/x4keyex.cc
    branches/pph/gcc/testsuite/g++.dg/pph/x4keyno.cc



More information about the Gcc-cvs mailing list