From 0976078c73f58e7350fcc0516618fdd7737c9696 Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Tue, 13 Jul 2004 01:22:03 -0700 Subject: function.c (pass_by_reference): New. * function.c (pass_by_reference): New. (assign_parm_find_data_types): Use it. * calls.c (initialize_argument_information): Likewise. (emit_library_call_value_1): Likewise. * expr.h (FUNCTION_ARG_PASS_BY_REFERENCE): Remove. * function.h (pass_by_reference): Declare. ada/ * misc.c (default_pass_by_ref): Use pass_by_reference. From-SVN: r84607 --- gcc/calls.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'gcc/calls.c') diff --git a/gcc/calls.c b/gcc/calls.c index e128162..88bac10 100644 --- a/gcc/calls.c +++ b/gcc/calls.c @@ -974,11 +974,8 @@ initialize_argument_information (int num_actuals ATTRIBUTE_UNUSED, with those made by function.c. */ /* See if this argument should be passed by invisible reference. */ - if (CONTAINS_PLACEHOLDER_P (TYPE_SIZE (type)) - || TREE_ADDRESSABLE (type) - || FUNCTION_ARG_PASS_BY_REFERENCE (*args_so_far, TYPE_MODE (type), - type, argpos < n_named_args) - ) + if (pass_by_reference (args_so_far, TYPE_MODE (type), + type, argpos < n_named_args)) { /* If we're compiling a thunk, pass through invisible references instead of making a copy. */ @@ -3559,7 +3556,7 @@ emit_library_call_value_1 (int retval, rtx orgfun, rtx value, && ! (CONSTANT_P (val) && LEGITIMATE_CONSTANT_P (val))) val = force_operand (val, NULL_RTX); - if (FUNCTION_ARG_PASS_BY_REFERENCE (args_so_far, mode, NULL_TREE, 1)) + if (pass_by_reference (&args_so_far, mode, NULL_TREE, 1)) { rtx slot; int must_copy = ! FUNCTION_ARG_CALLEE_COPIES (args_so_far, mode, -- cgit v1.1