summaryrefslogtreecommitdiffstats
path: root/gcc/java/parse.y
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/java/parse.y')
-rw-r--r--gcc/java/parse.y7
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/java/parse.y b/gcc/java/parse.y
index c6805c29628..70b81b1903c 100644
--- a/gcc/java/parse.y
+++ b/gcc/java/parse.y
@@ -8961,8 +8961,13 @@ patch_binop (node, wfl_op1, wfl_op2)
/* The >>> operator is a >> operating on unsigned quantities */
if (code == URSHIFT_EXPR && ! flag_emit_class_files)
{
- op1 = convert (unsigned_type (prom_type), op1);
+ tree utype = unsigned_type (prom_type);
+ op1 = convert (utype, op1);
TREE_SET_CODE (node, RSHIFT_EXPR);
+ TREE_OPERAND (node, 0) = op1;
+ TREE_OPERAND (node, 1) = op2;
+ TREE_TYPE (node) = utype;
+ return convert (prom_type, node);
}
break;
OpenPOWER on IntegriCloud