aboutsummaryrefslogtreecommitdiff
path: root/gcc/java
diff options
context:
space:
mode:
authorRoger Sayle <roger@eyesopen.com>2003-09-28 15:07:05 +0000
committerRoger Sayle <sayle@gcc.gnu.org>2003-09-28 15:07:05 +0000
commit37e2180d7a57f86c0bc2b1463b99463784a8176e (patch)
tree235670c8fcc0f3dacd91e3313ef57d487ab877ef /gcc/java
parent9220b1baed480350ee2c02092e35d8b2a7baaaee (diff)
downloadgcc-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/java')
-rw-r--r--gcc/java/ChangeLog5
-rw-r--r--gcc/java/expr.c6
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;