From: Roger Sayle Date: Sun, 28 Sep 2003 15:07:05 +0000 (+0000) Subject: expr.c (java_check_reference): Use the semantics of COND_EXPRs with void-type branche... X-Git-Tag: releases/gcc-3.4.0~3429 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=37e2180d7a57f86c0bc2b1463b99463784a8176e;p=thirdparty%2Fgcc.git 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 --- diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 93eb1c2d1d18..4ec9a3c65785 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,8 @@ +2003-09-28 Roger Sayle + + * 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 * decl.c (java_optimize_inline, dump_function): Remove. diff --git a/gcc/java/expr.c b/gcc/java/expr.c index 272cb351e786..994a8c52ed3e 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;