expr.c (build_class_init): Move MODIFY_EXPR outside of COND_EXPR.
authorJeff Sturm <jsturm@one-point.com>
Wed, 16 May 2001 06:41:10 +0000 (06:41 +0000)
committerAlexandre Petit-Bianco <apbianco@gcc.gnu.org>
Wed, 16 May 2001 06:41:10 +0000 (23:41 -0700)
2000-05-02  Jeff Sturm  <jsturm@one-point.com>

* expr.c (build_class_init): Move MODIFY_EXPR
outside of COND_EXPR.  Remove variable `call'.

From-SVN: r42134

gcc/java/ChangeLog
gcc/java/expr.c

index 686bf0a..7fd7de5 100644 (file)
         * lex.c (java_new_lexer): Call iconv_close on temp handle used to
        check for byte swap.
 
+2000-05-02  Jeff Sturm  <jsturm@one-point.com>
+
+       * expr.c (build_class_init): Move MODIFY_EXPR
+       outside of COND_EXPR.  Remove variable `call'.
+
 2001-05-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
        * decl.c: NULL_PTR -> NULL.
index 861069d..9ba0739 100644 (file)
@@ -1662,7 +1662,7 @@ tree
 build_class_init (clas, expr)
      tree clas, expr;
 {
-  tree init, call;
+  tree init;
   struct init_test_hash_entry *ite;
   if (inherits_from_p (current_class, clas))
     return expr;
@@ -1693,14 +1693,14 @@ build_class_init (clas, expr)
                    build_tree_list (NULL_TREE, build_class_ref (clas)),
                    NULL_TREE);
       TREE_SIDE_EFFECTS (init) = 1;
-      call = build (COMPOUND_EXPR, TREE_TYPE (expr), init, 
-                   build (MODIFY_EXPR, boolean_type_node,
-                          ite->init_test_decl, boolean_true_node));
-      TREE_SIDE_EFFECTS (call) = 1;
       init = build (COND_EXPR, void_type_node,
                    build (EQ_EXPR, boolean_type_node, 
                           ite->init_test_decl, boolean_false_node),
-                   call, integer_zero_node);
+                   init, integer_zero_node);
+      TREE_SIDE_EFFECTS (init) = 1;
+      init = build (COMPOUND_EXPR, TREE_TYPE (expr), init, 
+                   build (MODIFY_EXPR, boolean_type_node,
+                          ite->init_test_decl, boolean_true_node));
       TREE_SIDE_EFFECTS (init) = 1;
     }