diff options
author | Roger Sayle <roger@eyesopen.com> | 2003-09-28 15:07:05 +0000 |
---|---|---|
committer | Roger Sayle <sayle@gcc.gnu.org> | 2003-09-28 15:07:05 +0000 |
commit | 37e2180d7a57f86c0bc2b1463b99463784a8176e (patch) | |
tree | 235670c8fcc0f3dacd91e3313ef57d487ab877ef /gcc | |
parent | 9220b1baed480350ee2c02092e35d8b2a7baaaee (diff) | |
download | gcc-37e2180d7a57f86c0bc2b1463b99463784a8176e.zip gcc-37e2180d7a57f86c0bc2b1463b99463784a8176e.tar.gz gcc-37e2180d7a57f86c0bc2b1463b99463784a8176e.tar.bz2 |
expr.c (java_check_reference): Use the semantics of COND_EXPRs with void-type branches instead of using a...
* expr.c (java_check_reference): Use the semantics of COND_EXPRs
with void-type branches instead of using a COMPOUND_EXPR.
From-SVN: r71883
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/java/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/java/expr.c | 6 |
2 files changed, 7 insertions, 4 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 93eb1c2..4ec9a3c 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,8 @@ +2003-09-28 Roger Sayle <roger@eyesopen.com> + + * expr.c (java_check_reference): Use the semantics of COND_EXPRs + with void-type branches instead of using a COMPOUND_EXPR. + 2003-09-28 Jeff Sturm <jsturm@one-point.com> * decl.c (java_optimize_inline, dump_function): Remove. diff --git a/gcc/java/expr.c b/gcc/java/expr.c index 272cb35..994a8c5 100644 --- a/gcc/java/expr.c +++ b/gcc/java/expr.c @@ -695,15 +695,13 @@ java_check_reference (tree expr, int check) { if (!flag_syntax_only && check) { - tree cond; expr = save_expr (expr); - cond = build (COND_EXPR, void_type_node, + expr = build (COND_EXPR, TREE_TYPE (expr), build (EQ_EXPR, boolean_type_node, expr, null_pointer_node), build (CALL_EXPR, void_type_node, build_address_of (soft_nullpointer_node), NULL_TREE, NULL_TREE), - empty_stmt_node); - expr = build (COMPOUND_EXPR, TREE_TYPE (expr), cond, expr); + expr); } return expr; |