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

crowl@gcc.gnu.org crowl@gcc.gnu.org
Mon Oct 17 06:20:00 GMT 2011


Author: crowl
Date: Mon Oct 17 06:20:02 2011
New Revision: 180074

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=180074
Log:
Add function merging.  First, let function mangled names match.
Second, overwrite existing struct functions for merged functions.
Third, add filtering for already emitted functions.

The result is ICEs in the call graph code.

Add tests for overload sets with more than one member.

Bootstrapped on x64.


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

Index: gcc/testsuite/ChangeLog.pph

	* g++.dg/pph/c4inline.cc: Change to ICE in cgraph.
	* g++.dg/pph/x1keyed.cc: Likewise.
	* g++.dg/pph/x1keyno.cc: Likewise.
	* g++.dg/pph/x4keyed.cc: Likewise.
	* g++.dg/pph/x4keyex.cc: Likewise.
	* g++.dg/pph/x4keyno.cc: Likewise.
	* g++.dg/pph/x4tmplclass1.cc: Likewise.
	* g++.dg/pph/x4tmplclass2.cc: Likewise.
	* g++.dg/pph/x4tmplfuncinln.cc: Likewise.
	* g++.dg/pph/x4tmplfuncninl.cc: Likewise.
	* g++.dg/pph/x6rtti.cc: Likewise.
	* g++.dg/pph/x7rtti.cc: Likewise.
	* g++.dg/pph/z4tmplclass1.cc: Likewise.
	* g++.dg/pph/z4tmplclass2.cc: Likewise.
	* g++.dg/pph/z4tmplfuncinln.cc: Likewise.
	* g++.dg/pph/z4tmplfuncninl.cc: Likewise.
	* g++.dg/pph/x1tmplclass2.cc: Change to missing function.

Index: gcc/cp/ChangeLog.pph

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

	* pph-streamer-in.c (pph_match_to_overload): Comment on overloading.
	(pph_match_to_function): Allow functions to match for merging.  
	Comment on overloading.
	(pph_match_to_link): Comment on overloading.
	(pph_in_struct_function): Implement overwriting a struct function
	when merging.
	(pph_in_symtab): Add filtering for already emitted functions.
	* pph-streamer.h (pph_trace_tree): Add a boolean parameter specifying
	whether or not the tree was actually merged.
	* pph-streamer.c (pph_trace_tree): Add a boolean parameter specifying
	whether or not the tree was actually merged.  Change output to
	correspond.  Update callers.



Added:
    branches/pph/gcc/testsuite/g++.dg/pph/x0overset0.h
    branches/pph/gcc/testsuite/g++.dg/pph/x1overset1.h
    branches/pph/gcc/testsuite/g++.dg/pph/x1overset2.h
    branches/pph/gcc/testsuite/g++.dg/pph/x2overset1.cc
    branches/pph/gcc/testsuite/g++.dg/pph/x2overset2.cc
    branches/pph/gcc/testsuite/g++.dg/pph/x4overset1.cc
    branches/pph/gcc/testsuite/g++.dg/pph/x4overset2.cc
    branches/pph/gcc/testsuite/g++.dg/pph/x4overset3.cc
    branches/pph/gcc/testsuite/g++.dg/pph/x4overset4.cc
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/testsuite/ChangeLog.pph
    branches/pph/gcc/testsuite/g++.dg/pph/c4inline.cc
    branches/pph/gcc/testsuite/g++.dg/pph/x1keyed.cc
    branches/pph/gcc/testsuite/g++.dg/pph/x1keyno.cc
    branches/pph/gcc/testsuite/g++.dg/pph/x1tmplclass2.cc
    branches/pph/gcc/testsuite/g++.dg/pph/x4keyed.cc
    branches/pph/gcc/testsuite/g++.dg/pph/x4keyex.cc
    branches/pph/gcc/testsuite/g++.dg/pph/x4keyno.cc
    branches/pph/gcc/testsuite/g++.dg/pph/x4tmplclass1.cc
    branches/pph/gcc/testsuite/g++.dg/pph/x4tmplclass2.cc
    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/x6rtti.cc
    branches/pph/gcc/testsuite/g++.dg/pph/x7rtti.cc
    branches/pph/gcc/testsuite/g++.dg/pph/z4tmplclass1.cc
    branches/pph/gcc/testsuite/g++.dg/pph/z4tmplclass2.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