diff options
author | Alexandre Petit-Bianco <apbianco@redhat.com> | 2001-10-03 19:58:39 -0700 |
---|---|---|
committer | Alexandre Petit-Bianco <apbianco@gcc.gnu.org> | 2001-10-03 19:58:39 -0700 |
commit | 7754e0a9684f48609a9869619bbb405b5bcd9f47 (patch) | |
tree | a3dd68ed74022c80754e02db8c64eaa9a7f613a8 /gcc/java | |
parent | 8276ed21b0ddcca0037255fddc290895356f7548 (diff) | |
download | gcc-7754e0a9684f48609a9869619bbb405b5bcd9f47.zip gcc-7754e0a9684f48609a9869619bbb405b5bcd9f47.tar.gz gcc-7754e0a9684f48609a9869619bbb405b5bcd9f47.tar.bz2 |
parse.y (patch_assignment): Use lvalue's original TYPE when building the final COMPOUND_EXPR.
2001-10-03 Alexandre Petit-Bianco <apbianco@redhat.com>
* parse.y (patch_assignment): Use lvalue's original TYPE when
building the final COMPOUND_EXPR.
(try_reference_assignconv): Fixed leading comment.
( http://gcc.gnu.org/ml/java-patches/2001-q4/msg00027.html )
From-SVN: r46004
Diffstat (limited to 'gcc/java')
-rw-r--r-- | gcc/java/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/java/parse.y | 10 |
2 files changed, 11 insertions, 5 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 53b1ce6..71fdf92 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,9 @@ +2001-10-03 Alexandre Petit-Bianco <apbianco@redhat.com> + + * parse.y (patch_assignment): Use lvalue's original TYPE when + building the final COMPOUND_EXPR. + (try_reference_assignconv): Fixed leading comment. + 2001-09-26 Alexandre Petit-Bianco <apbianco@redhat.com> * parse.y (check_final_variable_indirect_assignment): For diff --git a/gcc/java/parse.y b/gcc/java/parse.y index 154fef3..6fa3054 100644 --- a/gcc/java/parse.y +++ b/gcc/java/parse.y @@ -13002,10 +13002,11 @@ patch_assignment (node, wfl_op1, wfl_op2) build (COMPOUND_EXPR, void_type_node, bound_check, check); /* Re-assemble the augmented array access. */ - lvalue = build (COMPOUND_EXPR, lhs_type, new_compound, lvalue); + lvalue = build (COMPOUND_EXPR, TREE_TYPE (lvalue), + new_compound, lvalue); } else - lvalue = build (COMPOUND_EXPR, lhs_type, check, lvalue); + lvalue = build (COMPOUND_EXPR, TREE_TYPE (lvalue), check, lvalue); } /* Final locals can be used as case values in switch @@ -13028,9 +13029,8 @@ patch_assignment (node, wfl_op1, wfl_op2) } /* Check that type SOURCE can be cast into type DEST. If the cast - can't occur at all, return 0 otherwise 1. This function is used to - produce accurate error messages on the reasons why an assignment - failed. */ + can't occur at all, return NULL; otherwise, return a possibly + modified rhs. */ static tree try_reference_assignconv (lhs_type, rhs) |