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

crowl@gcc.gnu.org crowl@gcc.gnu.org
Thu Feb 2 02:47:00 GMT 2012


Author: crowl
Date: Thu Feb  2 02:47:50 2012
New Revision: 183822

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=183822
Log:
This patch adds minimal type merging.  It unifies the existence of
types for a struct decl.  The method is to emit a merge key for the
type when we emit a merge key for the struct decl.

Test x4structover1.cc is now passing.

The next step is to merge struct definitions.  For that we have test
cases x*incomplete*, which progressively add more information to the
classes in different configurations of pph files.

Tested on x64.


Index: gcc/testsuite/ChangeLog.pph

2012-02-01   Lawrence Crowl  <crowl@google.com>

	* g++.dg/pph/x4structover1.cc: Mark fixed.
	* g++.dg/pph/a0incomplete2.hi: New.
	* g++.dg/pph/a0incomplete3.hi: New.
	* g++.dg/pph/a0incomplete4.cci: New.
	* g++.dg/pph/x0incomplete1.h: New.
	* g++.dg/pph/x0incomplete2.h: New.
	* g++.dg/pph/x0incomplete3.h: New.
	* g++.dg/pph/x1incomplete3.h: New.
	* g++.dg/pph/x1incomplete4.cc: New.
	* g++.dg/pph/x2incomplete4.cc: New.
	* g++.dg/pph/x3incomplete412.cc: New.
	* g++.dg/pph/x3incomplete413.cc: New.
	* g++.dg/pph/x4incomplete4123.cc: New.
	* g++.dg/pph/x4incomplete4321.cc: New.

Index: gcc/cp/ChangeLog.pph

2012-02-01   Lawrence Crowl  <crowl@google.com>

	* error.c (dump_function_decl):  Add protection against NULL.
	* pph-out.c (pph_out_merge_key_tree):  Write merge keys for struct
	types, as opposed to decls.
	* pph-in.c (pph_in_merge_tree_body):  Save chains in decls only.
	(pph_in_merge_key_tree): Read merge keys for struct types.  Split
	handling into two phases, cache insertion (which is before the trace
	front) and sub-tree reading.



Added:
    branches/pph/gcc/testsuite/g++.dg/pph/a0incomplete2.hi
    branches/pph/gcc/testsuite/g++.dg/pph/a0incomplete3.hi
    branches/pph/gcc/testsuite/g++.dg/pph/a0incomplete4.cci
    branches/pph/gcc/testsuite/g++.dg/pph/x0incomplete1.h
    branches/pph/gcc/testsuite/g++.dg/pph/x0incomplete2.h
    branches/pph/gcc/testsuite/g++.dg/pph/x0incomplete3.h
    branches/pph/gcc/testsuite/g++.dg/pph/x1incomplete3.h
    branches/pph/gcc/testsuite/g++.dg/pph/x1incomplete4.cc
    branches/pph/gcc/testsuite/g++.dg/pph/x2incomplete4.cc
    branches/pph/gcc/testsuite/g++.dg/pph/x3incomplete412.cc
    branches/pph/gcc/testsuite/g++.dg/pph/x3incomplete413.cc
    branches/pph/gcc/testsuite/g++.dg/pph/x4incomplete4123.cc
    branches/pph/gcc/testsuite/g++.dg/pph/x4incomplete4321.cc
Modified:
    branches/pph/gcc/cp/ChangeLog.pph
    branches/pph/gcc/cp/error.c
    branches/pph/gcc/cp/pph-in.c
    branches/pph/gcc/cp/pph-out.c
    branches/pph/gcc/testsuite/ChangeLog.pph
    branches/pph/gcc/testsuite/g++.dg/pph/x4structover1.cc



More information about the Gcc-cvs mailing list