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