aboutsummaryrefslogtreecommitdiff
path: root/gcc/java
diff options
context:
space:
mode:
authorAlexandre Petit-Bianco <apbianco@redhat.com>2001-10-03 19:58:39 -0700
committerAlexandre Petit-Bianco <apbianco@gcc.gnu.org>2001-10-03 19:58:39 -0700
commit7754e0a9684f48609a9869619bbb405b5bcd9f47 (patch)
treea3dd68ed74022c80754e02db8c64eaa9a7f613a8 /gcc/java
parent8276ed21b0ddcca0037255fddc290895356f7548 (diff)
downloadgcc-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/ChangeLog6
-rw-r--r--gcc/java/parse.y10
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)