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

crowl@gcc.gnu.org crowl@gcc.gnu.org
Tue Sep 20 01:53:00 GMT 2011


Author: crowl
Date: Tue Sep 20 01:53:37 2011
New Revision: 178996

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=178996
Log:
Prepare for merging symbols.  When writing a cp_binding_level, we emit
this_entity first, so that we can identify the context of the bindings
early.  If this_entity is a namespace, we call alternate routines that
track the namespace.  These ultimately call pph_write_namespace_tree,
which adds additional information needed for decl merging.  Reads take
the corresponding actions.  We do not yet to symbol lookup or merging.

Tested on x64.


Index: gcc/cp/ChangeLog.pph

2011-09-19   Lawrence Crowl  <crowl@google.com>

	* pph-streamer-out.c (pph_out_binding_level_1): Read this_entity first.
	Call different routines when it is a namespace.
	(pph_write_tree): Move most of body to pph_write_namespace_tree.
	(pph_write_namespace_tree): As above.  If there is an enclosing
	namespace, write additional information needed for merging.
	(pph_out_namespace_tree_vec) New.
	(pph_out_namespace_tree_vec_filtered) New.
	(pph_write_namespace_chain) New.
	(pph_out_namespace_chain_filtered) New.
	* pph-streamer-in.c (pph_in_binding_level): Read this_entity first.
	Call different routines when it is a namespace.
	(pph_read_tree): Move most of body to pph_read_namespace_tree.
	(pph_read_namespace_tree): As above.  If there is an enclosing
	namespace, read additional information needed for merging.
	Merging is currently not done.
	(pph_read_namespace_chain): New.
	(pph_in_namespace_tree_vec): New.
	* pph-streamer.h (pph_write_namespace_tree): New.
	(pph_write_namespace_chain): New.
	(pph_read_namespace_tree): New.
	(pph_read_namespace_chain): New.
	(pph_out_namespace_tree_1): New.
	(pph_out_namespace_tree): New.
	(pph_out_tree_VEC): Deleted, redundant with pph-streamer-out.c.
	(pph_out_namespace_chain): New.
	(pph_in_namespace_tree): New.
	(pph_in_namespace_chain): New.



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



More information about the Gcc-cvs mailing list