From 7b48e1e0f0ea539efeca2a5be7f8fc93714d41bd Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Fri, 16 Jul 2004 15:13:37 -0700 Subject: [PATCH] tree-ssa-operands.c (get_expr_operands): Fix 2004-07-15 switchification wrt CONSTRUCTOR. * tree-ssa-operands.c (get_expr_operands): Fix 2004-07-15 switchification wrt CONSTRUCTOR. Document the reason. From-SVN: r84839 --- gcc/ChangeLog | 5 +++++ gcc/tree-ssa-operands.c | 13 ++++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9646260eaa8..a4a69f069db 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2004-07-16 Richard Henderson + + * tree-ssa-operands.c (get_expr_operands): Fix 2004-07-15 + switchification wrt CONSTRUCTOR. Document the reason. + 2004-07-16 Frank Ch. Eigler * tree-mudflap.c (mf_file_function_line_tree): Correct typo diff --git a/gcc/tree-ssa-operands.c b/gcc/tree-ssa-operands.c index bb60bd87332..9b2974136a8 100644 --- a/gcc/tree-ssa-operands.c +++ b/gcc/tree-ssa-operands.c @@ -971,6 +971,18 @@ get_expr_operands (tree stmt, tree *expr_p, int flags, voperands_t prev_vops) stmt_ann (stmt)->has_volatile_ops = true; return; + case CONSTRUCTOR: + { + /* General aggregate CONSTRUCTORs have been decomposed, but they + are still in use as the COMPLEX_EXPR equivalent for vectors. */ + + tree t; + for (t = TREE_OPERAND (expr, 0); t ; t = TREE_CHAIN (t)) + get_expr_operands (stmt, &TREE_VALUE (t), opf_none, prev_vops); + + return; + } + case TRUTH_NOT_EXPR: case BIT_FIELD_REF: do_unary: @@ -1025,7 +1037,6 @@ get_expr_operands (tree stmt, tree *expr_p, int flags, voperands_t prev_vops) case EXC_PTR_EXPR: case FILTER_EXPR: case LABEL_DECL: - case CONSTRUCTOR: /* Expressions that make no memory references. */ return; -- 2.30.2