re PR java/16927 (assert statement fails at -O1 and above)

2004-09-23  Andrew Haley  <aph@redhat.com>

        PR java/16927:
        * parse.y (java_complete_lhs): Call patch_string() on Operand 1 of
        COND_EXPRs.

From-SVN: r88036
This commit is contained in:
Andrew Haley 2004-09-24 13:57:08 +00:00 committed by Andrew Haley
parent 0a41faf022
commit c5466b25b4
2 changed files with 16 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2004-09-23 Andrew Haley <aph@redhat.com>
PR java/16927:
* parse.y (java_complete_lhs): Call patch_string() on Operand 1 of
COND_EXPRs.
2004-09-23 Tom Tromey <tromey@redhat.com>
PR java/17329:

View File

@ -11647,7 +11647,16 @@ java_complete_lhs (tree node)
TREE_OPERAND (node, 1) = java_complete_tree (TREE_OPERAND (node, 1));
if (TREE_OPERAND (node, 1) == error_mark_node)
return error_mark_node;
TREE_OPERAND (node, 2) = java_complete_tree (TREE_OPERAND (node, 2));
{
/* This is a special case due to build_assertion(). When
assertions are disabled we build a COND_EXPR in which
Operand 1 is the body of the assertion. If that happens to
be a string concatenation we'll need to patch it here. */
tree patched = patch_string (TREE_OPERAND (node, 1));
if (patched)
TREE_OPERAND (node, 1) = patched;
}
TREE_OPERAND (node, 2) = java_complete_tree (TREE_OPERAND (node, 2));
if (TREE_OPERAND (node, 2) == error_mark_node)
return error_mark_node;
return patch_if_else_statement (node);