gcc/gcc ChangeLog expr.c fold-const.c gimplify ...

rth@gcc.gnu.org rth@gcc.gnu.org
Wed Jun 23 00:26:00 GMT 2004


CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	rth@gcc.gnu.org	2004-06-23 00:26:05

Modified files:
	gcc            : ChangeLog expr.c fold-const.c gimplify.c 
	                 langhooks-def.h langhooks.h tree-gimple.c 
	                 tree-gimple.h tree-inline.c tree-pretty-print.c 
	                 tree-ssa-ccp.c tree-ssa-operands.c tree.def 
	                 tree.h 
	gcc/cp         : ChangeLog call.c class.c cp-lang.c cp-tree.h 
	gcc/doc        : c-tree.texi 
	gcc/objc       : objc-act.c 
	gcc/testsuite  : ChangeLog 
Added files:
	gcc/testsuite/g++.dg/opt: devirt1.C 

Log message:
	* tree.def (VTABLE_REF): Remove.
	(OBJ_TYPE_REF): New.
	(TRY_CATCH_EXPR, TRY_FINALLY_EXPR): Set type 's'.
	* expr.c (expand_expr_real_1): Replace VTABLE_REF with OBJ_TYPE_REF.
	* fold-const.c (non_lvalue): Likewise.
	* gimplify.c (gimplify_expr): Likewise.
	(gimplify_call_expr): Use is_gimple_call_addr.
	* langhooks-def.h (LANG_HOOKS_FOLD_OBJ_TYPE_REF): New.
	* langhooks.h (fold_obj_type_ref): New.
	* tree-gimple.c (is_gimple_call_addr): New.
	* tree-gimple.h (is_gimple_call_addr): Declare.
	* tree-inline.c (inlinable_function_p): Fix merge error.
	(estimate_num_insns_1): Replace VTABLE_REF with OBJ_TYPE_REF.
	* tree-pretty-print.c (dump_generic_node): Likewise.
	(print_call_name): Handle OBJ_TYPE_REF.
	* tree-ssa-ccp.c (fold_stmt): Fold OBJ_TYPE_REF.
	* tree-ssa-operands.c (get_expr_operands): Handle OBJ_TYPE_REF.
	* tree.h (OBJ_TYPE_REF_EXPR): New.
	(OBJ_TYPE_REF_OBJECT, OBJ_TYPE_REF_TOKEN): New.
	* doc/c-tree.texi (VTABLE_REF): Remove.
	* objc/objc-act.c (build_objc_method_call): Build an OBJ_TYPE_REF.
	cp/
	* class.c (build_vfn_ref): Take a pointer not object.  Build
	an OBJ_TYPE_REF.
	(cp_fold_obj_type_ref): New.
	* call.c (build_over_call): Update build_vfn_ref call.
	* cp-lang.c (LANG_HOOKS_FOLD_OBJ_TYPE_REF): New.
	* cp-tree.h (cp_fold_obj_type_ref): Declare.
	testsuite/
	* g++.dg/opt/devirt1.C: New.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.4084&r2=2.4085
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/expr.c.diff?cvsroot=gcc&r1=1.655&r2=1.656
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/fold-const.c.diff?cvsroot=gcc&r1=1.406&r2=1.407
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/gimplify.c.diff?cvsroot=gcc&r1=2.21&r2=2.22
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/langhooks-def.h.diff?cvsroot=gcc&r1=1.78&r2=1.79
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/langhooks.h.diff?cvsroot=gcc&r1=1.84&r2=1.85
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-gimple.c.diff?cvsroot=gcc&r1=2.6&r2=2.7
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-gimple.h.diff?cvsroot=gcc&r1=2.7&r2=2.8
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-inline.c.diff?cvsroot=gcc&r1=1.111&r2=1.112
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-pretty-print.c.diff?cvsroot=gcc&r1=2.10&r2=2.11
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-ssa-ccp.c.diff?cvsroot=gcc&r1=2.12&r2=2.13
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-ssa-operands.c.diff?cvsroot=gcc&r1=2.10&r2=2.11
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree.def.diff?cvsroot=gcc&r1=1.81&r2=1.82
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree.h.diff?cvsroot=gcc&r1=1.525&r2=1.526
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/ChangeLog.diff?cvsroot=gcc&r1=1.4122&r2=1.4123
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/call.c.diff?cvsroot=gcc&r1=1.482&r2=1.483
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/class.c.diff?cvsroot=gcc&r1=1.617&r2=1.618
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/cp-lang.c.diff?cvsroot=gcc&r1=1.81&r2=1.82
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/cp/cp-tree.h.diff?cvsroot=gcc&r1=1.984&r2=1.985
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/doc/c-tree.texi.diff?cvsroot=gcc&r1=1.58&r2=1.59
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/objc/objc-act.c.diff?cvsroot=gcc&r1=1.225&r2=1.226
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.3886&r2=1.3887
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/g++.dg/opt/devirt1.C.diff?cvsroot=gcc&r1=NONE&r2=1.1



More information about the Gcc-cvs mailing list