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

crowl@gcc.gnu.org crowl@gcc.gnu.org
Mon Oct 17 02:22:00 GMT 2011


Author: crowl
Date: Mon Oct 17 02:22:09 2011
New Revision: 180072

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=180072
Log:
Factor the vector and chain output routines to remove boolean control
parameters. The functions pph_out_tree_vec_1 and pph_out_chain_1 split
their conditional parts of their implementation into their use cases,
calling each other as needed.

pph_out_tree_vec - nothing special
pph_out_tree_vec_unchain - unchaining
pph_out_mergeable_tree_vec - merging, unchaining, reversing
pph_out_tree_vec_filtered - filtering
pph_out_chain - nothing special
pph_out_chain_filtered - filtering
pph_out_mergeable_chain_filtered - merging, unchaining, reversing, filtering

This change fixes an ordering bug, but now causes an ICE to surface,
which will be addressed later.

Tested on x64.


Index: gcc/testsuite/ChangeLog.pph

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

	* g++.dg/pph/x4tmplfuncinln.cc: Change failure to ICE.
	* g++.dg/pph/x4tmplfuncninl.cc: Likewise.
	* g++.dg/pph/z4tmplfuncinln.cc: Likewise.
	* g++.dg/pph/z4tmplfuncninl.cc: Likewise.

Index: gcc/cp/ChangeLog.pph

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

	* pph-streamer.h (pph_dump_chain): New.
	* pph-streamer.c (pph_trace_tree): Filter expressions from trace.
	Print tree code.
	* pph.c (pph_dump_tree_name): Add print newline.
	(pph_dump_namespace): Remove print space.
	(pph_dump_binding): Factor out dumping a chain.
	(pph_dump_chain): New.
	* pph-streamer-in.c (pph_in_mergeable_binding_level): Use
	pph_dump_chain.
	(pph_read_file_1): Change location of namespace dump.
	* pph-streamer-out.c (pph_tree_matches): Remove redundant test.
	(pph_out_tree_vec_1): Removed.
	(pph_out_tree_vec): Takes core implementation from pph_out_tree_vec_1.
	(pph_out_tree_vec_unchain): New. Takes core implementation from
	pph_out_tree_vec_1.
	(pph_out_mergeable_tree_vec): Likewise.
	(pph_out_tree_vec_filtered): Likewise.
	(chain2vec_filter): Prevent null filter.
	(chain2vec): New.  Handles case above.
	(pph_out_chain_1):  Removed.
	(pph_out_chain):  Takes core implementation from pph_out_chain_1.
	(pph_out_chain_filtered):  New.  Takes core implementation from
	pph_out_chain_1.
	(pph_out_mergeable_chain_filtered): Likewise.



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.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/x4tmplfuncinln.cc
    branches/pph/gcc/testsuite/g++.dg/pph/x4tmplfuncninl.cc
    branches/pph/gcc/testsuite/g++.dg/pph/z4tmplfuncinln.cc
    branches/pph/gcc/testsuite/g++.dg/pph/z4tmplfuncninl.cc



More information about the Gcc-cvs mailing list