From: pinskia Date: Mon, 1 Jan 2007 22:01:59 +0000 (+0000) Subject: 2007-01-01 Andrew Pinski X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ef78bb13b97ad3ac8bad42061f99735a78fd5940;p=thirdparty%2Fgcc.git 2007-01-01 Andrew Pinski * gimplify.c (gimplify_init_constructor ): Use a temporary variable if the left hand side is not a gimple register. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120318 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 69fe0892694f..21115da1b6ff 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2007-01-01 Andrew Pinski + + * gimplify.c (gimplify_init_constructor ): + Use a temporary variable if the left hand side is not a gimple + register. + 2007-01-01 Andrew Pinski * gimplify.c (gimplify_return_expr): Make the temporary variable diff --git a/gcc/gimplify.c b/gcc/gimplify.c index 1a40e8fe2142..5df8579913ac 100644 --- a/gcc/gimplify.c +++ b/gcc/gimplify.c @@ -3190,6 +3190,8 @@ gimplify_init_constructor (tree *expr_p, tree *pre_p, if (tret == GS_ERROR) ret = GS_ERROR; } + if (!is_gimple_reg (GENERIC_TREE_OPERAND (*expr_p, 0))) + GENERIC_TREE_OPERAND (*expr_p, 1) = get_formal_tmp_var (ctor, pre_p); } break;