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