diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6031eee9398..33be083356c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2004-07-07 Alexandre Oliva + + * function.c (assign_parm_find_data_types): Call + FUNCTION_ARG_PASS_BY_REFERENCE only if it's defined. + 2004-07-07 Steven Bosscher * tree-cfg.c (group_case_labels): Remove case labels that have diff --git a/gcc/function.c b/gcc/function.c index bb2afd918f3..67784652b53 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -2246,8 +2246,11 @@ assign_parm_find_data_types (struct assign_parm_data_all *all, tree parm, the machine requires these objects be passed that way. */ if (CONTAINS_PLACEHOLDER_P (TYPE_SIZE (passed_type)) || TREE_ADDRESSABLE (passed_type) +#ifdef FUNCTION_ARG_PASS_BY_REFERENCE || FUNCTION_ARG_PASS_BY_REFERENCE (all->args_so_far, passed_mode, - passed_type, data->named_arg)) + passed_type, data->named_arg) +#endif + ) { passed_type = nominal_type = build_pointer_type (passed_type); data->passed_pointer = true;