r176799 - in /branches/pph/gcc: ChangeLog.pph c...

crowl@gcc.gnu.org crowl@gcc.gnu.org
Tue Jul 26 18:41:00 GMT 2011


Author: crowl
Date: Tue Jul 26 18:41:40 2011
New Revision: 176799

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=176799
Log:
This patch saves and restores three template side tables for PPH.  They are
the pending template instantiations list, the template decl specializations
table, and the template type specializations table.

This patch fixes PPH test x1tmplclass.

In the process, I mace lto_output_location and lto_input_location extern in
lto-streamer* and factored cp_debug_parser_tokens out of cp_debug_parser in
cp/parser.c.

Tested on x64.


Index: gcc/testsuite/ChangeLog.pph

2011-07-25  Lawrence Crowl  <crowl@google.com>

	* g++.dg/pph/x1tmplclass.cc: Remove expected failure.

Index: gcc/cp/ChangeLog.pph

2011-07-25   Lawrence Crowl  <crowl@google.com>

	* pph.c (pph_dump_tree_name): Make extern.
	* pph.h (pph_dump_tree_name): Make extern.
	* pph-streamer-in.c (pph_read_file_contents): Load pending templates
	list and tables of decl and type template specializations.
	* pph-streamer.c (enum pph_trace_type): Add PPH_TRACE_LOCATION
	enumeration.
	(pph_trace): Add trace for locations.
	(pph_trace_location): New.
	* pph-streamer.h (pph_trace_location): New.
	(pph_out_pending_templates_list): New.
	(pph_in_pending_templates_list): New.
	(pph_out_spec_entry_tables): New.
	(pph_in_spec_entry_tables): New.
	(pph_out_location): New.
	(pph_in_location): New.
	* pph-streamer-out.c (pph_write_file_contents): Save template pending
	instantiation list, decl specialization table, and type specialization
	table.
	* pt.c (pph_out_tinst_level): New.
	(pph_dump_tinst_level): New.
	(pph_in_tinst_level): New.
	(pph_dump_pending_templates_list): New.
	(pph_out_pending_templates_list): New.
	(pph_in_pending_templates_list): New.
	(pph_out_spec_entry_slot): New.
	(pph_out_spec_entry_htab): New.
	(pph_dump_spec_entry_slot): New.
	(pph_dump_spec_entry_htab): New.
	(pph_in_spec_entry_htab): New.
	(pph_out_spec_entry_tables): New.
	(pph_in_spec_entry_tables): New.
	* parser.c (cp_debug_parser): Factor out printing of token list.
	(cp_debug_parser_tokens): New.

Index: gcc/ChangeLog.pph

2011-07-25  Lawrence Crowl  <crowl@google.com>

	* lto-streamer-out.c (lto_output_location): Make external.
	* lto-streamer-in.c (lto_input_location): Make external.
	* lto-streamer.h (lto_output_location): Make external.
	(lto_input_location): Make external.



Modified:
    branches/pph/gcc/ChangeLog.pph
    branches/pph/gcc/cp/ChangeLog.pph
    branches/pph/gcc/cp/parser.c
    branches/pph/gcc/cp/pph-streamer-in.c
    branches/pph/gcc/cp/pph-streamer-out.c
    branches/pph/gcc/cp/pph-streamer.c
    branches/pph/gcc/cp/pph-streamer.h
    branches/pph/gcc/cp/pph.c
    branches/pph/gcc/cp/pph.h
    branches/pph/gcc/cp/pt.c
    branches/pph/gcc/lto-streamer-in.c
    branches/pph/gcc/lto-streamer-out.c
    branches/pph/gcc/lto-streamer.h
    branches/pph/gcc/testsuite/ChangeLog.pph
    branches/pph/gcc/testsuite/g++.dg/pph/x1tmplclass.cc



More information about the Gcc-cvs mailing list