tree-ssa-operands.c (get_expr_operands): Fix 2004-07-15 switchification wrt CONSTRUCTOR.
authorRichard Henderson <rth@redhat.com>
Fri, 16 Jul 2004 22:13:37 +0000 (15:13 -0700)
committerRichard Henderson <rth@gcc.gnu.org>
Fri, 16 Jul 2004 22:13:37 +0000 (15:13 -0700)
        * tree-ssa-operands.c (get_expr_operands): Fix 2004-07-15
        switchification wrt CONSTRUCTOR.  Document the reason.

From-SVN: r84839

gcc/ChangeLog
gcc/tree-ssa-operands.c

index 9646260eaa857bb8c5a07dcc9944e9f42a21cb7a..a4a69f069db7e6b2e354d5188f400452696dbca5 100644 (file)
@@ -1,3 +1,8 @@
+2004-07-16  Richard Henderson  <rth@redhat.com>
+
+       * tree-ssa-operands.c (get_expr_operands): Fix 2004-07-15
+       switchification wrt CONSTRUCTOR.  Document the reason.
+
 2004-07-16  Frank Ch. Eigler  <fche@redhat.com>
 
        * tree-mudflap.c (mf_file_function_line_tree): Correct typo
index bb60bd87332329aa14fcbbc0870f459395b0a6d2..9b2974136a857deb77f5832c62ef39634c124c7a 100644 (file)
@@ -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;