From 478e2092877b02cd8d859e2ce5d623fc475c9e61 Mon Sep 17 00:00:00 2001 From: Andrew Pinski Date: Mon, 22 Nov 2004 20:02:16 +0000 Subject: [PATCH] re PR tree-optimization/18572 (Bus error compiling makegpr.adb on Mac OS X 10.3) 2004-11-22 Andrew Pinski PR tree-opt/18572 * tree-sra.c (scalarize_init): Unshare the rhs before gimplifying it. From-SVN: r91024 --- gcc/ChangeLog | 6 ++++++ gcc/tree-sra.c | 2 ++ 2 files changed, 8 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index de1259e1e86..d46e06afd3d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2004-11-22 Andrew Pinski + + PR tree-opt/18572 + * tree-sra.c (scalarize_init): Unshare the rhs before gimplifying + it. + 2004-11-22 Richard Henderson * function.c (assign_parm_setup_block): Revert 11-13 change to diff --git a/gcc/tree-sra.c b/gcc/tree-sra.c index 26ecf2e3401..3cc9261552c 100644 --- a/gcc/tree-sra.c +++ b/gcc/tree-sra.c @@ -1832,6 +1832,8 @@ scalarize_init (struct sra_elt *lhs_elt, tree rhs, block_stmt_iterator *bsi) /* Generate initialization statements for all members extant in the RHS. */ if (rhs) { + /* Unshare the expression just in case this is from a decl's initial. */ + rhs = unshare_expr (rhs); push_gimplify_context (); result = generate_element_init (lhs_elt, rhs, &list); pop_gimplify_context (NULL); -- 2.30.2