aboutsummaryrefslogtreecommitdiff
path: root/gcc/java
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/java')
-rw-r--r--gcc/java/ChangeLog6
-rw-r--r--gcc/java/builtins.c7
2 files changed, 10 insertions, 3 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog
index a177380..dd696e6 100644
--- a/gcc/java/ChangeLog
+++ b/gcc/java/ChangeLog
@@ -1,3 +1,9 @@
+2009-01-16 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/38835
+ PR middle-end/36227
+ * builtins.c (build_addr_sum): Use POINTER_PLUS_EXPR.
+
2008-12-05 Sebastian Pop <sebastian.pop@amd.com>
PR bootstrap/38262
diff --git a/gcc/java/builtins.c b/gcc/java/builtins.c
index a760def..c46241b 100644
--- a/gcc/java/builtins.c
+++ b/gcc/java/builtins.c
@@ -265,9 +265,10 @@ static tree
build_addr_sum (tree type, tree addr, tree offset)
{
tree ptr_type = build_pointer_type (type);
- return fold_build2 (PLUS_EXPR,
- ptr_type,
- fold_convert (ptr_type, addr), offset);
+ return fold_build2 (POINTER_PLUS_EXPR,
+ ptr_type,
+ fold_convert (ptr_type, addr),
+ fold_convert (sizetype, offset));
}
/* Make sure that this-arg is non-NULL. This is a security check. */