diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/cp/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cp/init.c | 4 | ||||
-rw-r--r-- | gcc/java/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/java/expr.c | 4 | ||||
-rw-r--r-- | gcc/java/parse.y | 8 |
5 files changed, 16 insertions, 11 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index c0b57257caa..a3a2c6abea5 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2004-04-15 Bryce McKinlay <mckinlay@redhat.com> + + * init.c (build_new_1): Don't use type size argument for Java + _Jv_AllocObject call. + 2004-04-09 Danny Smith <dannysmith@users.sourceforge.net> * method.c (make_alias_for_thunk): Remove preprocessor guard on diff --git a/gcc/cp/init.c b/gcc/cp/init.c index e9142b775e0..5a64ed51bad 100644 --- a/gcc/cp/init.c +++ b/gcc/cp/init.c @@ -2019,7 +2019,6 @@ build_new_1 (tree exp) { tree class_addr, alloc_decl; tree class_decl = build_java_class_ref (true_type); - tree class_size = size_in_bytes (true_type); static const char alloc_name[] = "_Jv_AllocObject"; use_java_new = 1; if (!get_global_value_if_present (get_identifier (alloc_name), @@ -2037,8 +2036,7 @@ build_new_1 (tree exp) class_addr = build1 (ADDR_EXPR, jclass_node, class_decl); alloc_call = (build_function_call (alloc_decl, - tree_cons (NULL_TREE, class_addr, - build_tree_list (NULL_TREE, class_size)))); + build_tree_list (NULL_TREE, class_addr))); } else { diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 6336c2ec985..ac5a568024b 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 2c0312ea810..839480b5b64 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 a21fc2a0919..7d4c2de1ddb 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); |