This is the mail archive of the gcc-cvs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

r159592 - in /trunk/gcc: ChangeLog ada/ChangeLo...


Author: ebotcazou
Date: Wed May 19 17:53:58 2010
New Revision: 159592

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=159592
Log:
	* langhooks.h (struct lang_hooks): Add new field deep_unsharing.
	* langhooks-def.h (LANG_HOOKS_DEEP_UNSHARING): New macro.
	(LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_DEEP_UNSHARING.
	* gimplify.c: (mostly_copy_tree_r): Copy trees under SAVE_EXPR and
	TARGET_EXPR nodes, but only once, if instructed to do so.  Do not
	propagate the 'data' argument to copy_tree_r.
	(copy_if_shared_r): Remove bogus ATTRIBUTE_UNUSED marker.
	Propagate 'data' argument to walk_tree.
	(copy_if_shared): New function.
	(unmark_visited_r): Remove bogus ATTRIBUTE_UNUSED marker.
	(unmark_visited): New function.
	(unshare_body): Call copy_if_shared instead of doing it manually.
	(unvisit_body): Call unmark_visited instead of doing it manually.
ada/
	* gcc-interface/misc.c (LANG_HOOKS_DEEP_UNSHARING): Redefine.
	* gcc-interface/trans.c (unshare_save_expr): Delete.
	(gigi): Do not unshare trees under SAVE_EXPRs here.

Added:
    trunk/gcc/testsuite/gnat.dg/discr23.adb
    trunk/gcc/testsuite/gnat.dg/discr23.ads
    trunk/gcc/testsuite/gnat.dg/discr23_pkg.ads
    trunk/gcc/testsuite/gnat.dg/specs/controlled1.ads
    trunk/gcc/testsuite/gnat.dg/specs/controlled1_pkg.ads
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/ada/ChangeLog
    trunk/gcc/ada/gcc-interface/misc.c
    trunk/gcc/ada/gcc-interface/trans.c
    trunk/gcc/gimplify.c
    trunk/gcc/langhooks-def.h
    trunk/gcc/langhooks.h
    trunk/gcc/testsuite/ChangeLog


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]