diff options
author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-07-16 22:13:37 +0000 |
---|---|---|
committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-07-16 22:13:37 +0000 |
commit | f9c6943bb1d4e5d0333f2d519ecf678898502570 (patch) | |
tree | b1d68dba74f4121ccc0e05e2ec081b08b26c4fdf /gcc/tree-ssa-operands.c | |
parent | a38904360a9b5e258d5011e686ebf58e89399379 (diff) | |
download | gcc-f9c6943bb1d4e5d0333f2d519ecf678898502570.tar.gz |
* tree-ssa-operands.c (get_expr_operands): Fix 2004-07-15
switchification wrt CONSTRUCTOR. Document the reason.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84839 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-ssa-operands.c')
-rw-r--r-- | gcc/tree-ssa-operands.c | 13 |
1 files changed, 12 insertions, 1 deletions
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; |