summaryrefslogtreecommitdiff
path: root/gcc/gimplify.c
diff options
context:
space:
mode:
authorpinskia <pinskia@138bc75d-0d04-0410-961f-82ee72b054a4>2007-01-01 22:01:59 +0000
committerpinskia <pinskia@138bc75d-0d04-0410-961f-82ee72b054a4>2007-01-01 22:01:59 +0000
commitef78bb13b97ad3ac8bad42061f99735a78fd5940 (patch)
tree89ca42ef6789618c6c5aeb3d1b56e825c7701dd7 /gcc/gimplify.c
parentf1ca37f83390b3307174286c3bb1bc4c2a25cbd8 (diff)
downloadgcc-ef78bb13b97ad3ac8bad42061f99735a78fd5940.tar.gz
2007-01-01 Andrew Pinski <pinskia@gmail.com>
* gimplify.c (gimplify_init_constructor <case VECTOR_TYPE>): 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
Diffstat (limited to 'gcc/gimplify.c')
-rw-r--r--gcc/gimplify.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/gimplify.c b/gcc/gimplify.c
index 1a40e8fe214..5df8579913a 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;