diff options
Diffstat (limited to 'gcc')
| -rw-r--r-- | gcc/java/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/java/expr.c | 12 | 
2 files changed, 11 insertions, 6 deletions
| diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 686bf0a8e38..7fd7de5b6e3 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -34,6 +34,11 @@          * 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. diff --git a/gcc/java/expr.c b/gcc/java/expr.c index 861069d95bc..9ba0739d7d7 100644 --- a/gcc/java/expr.c +++ b/gcc/java/expr.c @@ -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;      } | 

