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

crowl@gcc.gnu.org crowl@gcc.gnu.org
Fri Oct 14 22:27:00 GMT 2011


Author: crowl
Date: Fri Oct 14 22:27:09 2011
New Revision: 180010

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=180010
Log:
Factor pph_out_binding_level and pph_in_binding_level into three
routines each: one to handle bindings that merge; one to handle those
that do not; and one to handle the parts common to both.

Streaming the global namespace now uses the mergeable version of
binding level streaming.  At present we are merging only the global
namespace.  Subsequent patches will merge nested namespaces and
classes.

Tested on x64.


Index: gcc/testsuite/ChangeLog.pph

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

	* g++.dg/pph/c3variables.cc: Mark fixed.
	* g++.dg/pph/c4vardef.cc: Mark fixed.
	* g++.dg/pph/e4variables.cc: Mark fixed.
	* g++.dg/pph/z4nontrivinit.cc: Mark with fewer failures.

Index: gcc/cp/ChangeLog.pph

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

	* pph-streamer.h (extern pph_dump_binding): New.
	* pph.c (pph_dump_binding): New.
	(pph_dump_namespace): Call pph_dump_binding instead of inlining it.
	* pph-streamer-in.c (pph_in_binding_level): Return to original value
	return.  Modify callers to match.
	(pph_in_binding_level_1): New.
	(pph_in_mergeable_binding_level): New.
	(pph_decl_already_emitted): New.
	(pph_in_symtab): Filter emmission by pph_decl_already_emitted.
	(pph_in_identifiers): Fix comment.
	(pph_in_scope_chain): Remove.
	(pph_read_file_1): Call pph_in_mergeable_binding_level instead of
	pph_in_scope_chain.
	* pph-streamer-out.c (pph_out_binding_level_1): Handle only the parts
	of bindings that do not differ with merging.
	(pph_out_binding_level): Handle non-merging bindings.
	(pph_out_mergeable_binding_level): New.
	(pph_out_scope_chain): Rename to pph_out_global_binding.  Call
	pph_out_mergeable_binding_level instead of pph_out_binding_level_1.



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/testsuite/ChangeLog.pph
    branches/pph/gcc/testsuite/g++.dg/pph/c3variables.cc
    branches/pph/gcc/testsuite/g++.dg/pph/c4vardef.cc
    branches/pph/gcc/testsuite/g++.dg/pph/e4variables.cc
    branches/pph/gcc/testsuite/g++.dg/pph/z4nontrivinit.cc



More information about the Gcc-cvs mailing list