diff options
Diffstat (limited to 'gcc/java')
-rw-r--r-- | gcc/java/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/java/expr.c | 4 | ||||
-rw-r--r-- | gcc/java/parse.y | 8 |
3 files changed, 10 insertions, 8 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 6336c2e..ac5a568 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,9 @@ +2004-04-15 Bryce McKinlay <mckinlay@redhat.com> + + * expr.c (expand_java_NEW): Don't use size argument for + _Jv_AllocObject calls. + * parse.y (patch_invoke): Likewise. + 2004-04-12 Bryce McKinlay <mckinlay@redhat.com> * expr.c (build_invokeinterface): Remove unused variables to diff --git a/gcc/java/expr.c b/gcc/java/expr.c index 2c0312e..839480b 100644 --- a/gcc/java/expr.c +++ b/gcc/java/expr.c @@ -1150,9 +1150,7 @@ expand_java_NEW (tree type) safe_layout_class (type); push_value (build (CALL_EXPR, promote_type (type), build_address_of (alloc_node), - tree_cons (NULL_TREE, build_class_ref (type), - build_tree_list (NULL_TREE, - size_in_bytes (type))), + build_tree_list (NULL_TREE, build_class_ref (type)), NULL_TREE)); } diff --git a/gcc/java/parse.y b/gcc/java/parse.y index a21fc2a..7d4c2de 100644 --- a/gcc/java/parse.y +++ b/gcc/java/parse.y @@ -10863,11 +10863,9 @@ patch_invoke (tree patch, tree method, tree args) (class_has_finalize_method (class) ? alloc_object_node : alloc_no_finalizer_node); new = build (CALL_EXPR, promote_type (class), - build_address_of (alloc_node), - tree_cons (NULL_TREE, build_class_ref (class), - build_tree_list (NULL_TREE, - size_in_bytes (class))), - NULL_TREE); + build_address_of (alloc_node), + build_tree_list (NULL_TREE, build_class_ref (class)), + NULL_TREE); saved_new = save_expr (new); c1 = build_tree_list (NULL_TREE, saved_new); TREE_CHAIN (c1) = TREE_OPERAND (original_call, 1); |