X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2Fconfig%2Fxtensa%2Fxtensa.c;h=09f835282fe3efabcdbe0a46bb634899085df127;hp=f21930d96678515ca0a70957ce8238fbcb75e709;hb=ada8bfe4eefb8aeae51e3fb7243ebc7cb1f18647;hpb=ae79166b320ed23ca18346c10a43d08a36dbcb2f diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c index f21930d9667..09f835282fe 100644 --- a/gcc/config/xtensa/xtensa.c +++ b/gcc/config/xtensa/xtensa.c @@ -255,6 +255,8 @@ static const int reg_nonleaf_alloc_order[FIRST_PSEUDO_REGISTER] = #define TARGET_RETURN_IN_MEMORY xtensa_return_in_memory #undef TARGET_SPLIT_COMPLEX_ARG #define TARGET_SPLIT_COMPLEX_ARG hook_bool_tree_true +#undef TARGET_MUST_PASS_IN_STACK +#define TARGET_MUST_PASS_IN_STACK must_pass_in_stack_var_size #undef TARGET_EXPAND_BUILTIN_SAVEREGS #define TARGET_EXPAND_BUILTIN_SAVEREGS xtensa_builtin_saveregs @@ -2540,13 +2542,13 @@ xtensa_gimplify_va_arg_expr (tree valist, tree type, tree *pre_p, /* Check if the argument is in registers: if ((AP).__va_ndx <= __MAX_ARGS_IN_REGISTERS * 4 - && !MUST_PASS_IN_STACK (type)) + && !must_pass_in_stack (type)) __array = (AP).__va_reg; */ array = create_tmp_var (ptr_type_node, NULL); lab_over = NULL; - if (!MUST_PASS_IN_STACK (VOIDmode, type)) + if (!targetm.calls.must_pass_in_stack (TYPE_MODE (type), type)) { lab_false = create_artificial_label (); lab_over = create_artificial_label (); @@ -2621,7 +2623,7 @@ xtensa_gimplify_va_arg_expr (tree valist, tree type, tree *pre_p, { t = size_int (PARM_BOUNDARY / BITS_PER_UNIT); t = fold (build (GE_EXPR, boolean_type_node, type_size, t)); - t = fold (build (COND_EXPR, sizetype, t, type_size, va_size)); + t = fold (build (COND_EXPR, sizetype, t, va_size, type_size)); size = t; } else