Lines Matching refs:valist
4720 /* Make it easier for the backends by protecting the valist argument
4724 stabilize_va_list_loc (location_t loc, tree valist, int needs_lvalue)
4726 tree vatype = targetm.canonical_va_list_type (TREE_TYPE (valist));
4728 /* The current way of determining the type of valist is completely
4735 if (TREE_SIDE_EFFECTS (valist))
4736 valist = save_expr (valist);
4740 (an actual TARGET_CANONICAL_VA_LIST_TYPE (valist)).
4742 if (TREE_CODE (TREE_TYPE (valist)) == ARRAY_TYPE)
4745 valist = build_fold_addr_expr_with_type_loc (loc, valist, p1);
4754 if (! TREE_SIDE_EFFECTS (valist))
4755 return valist;
4757 valist = fold_build1_loc (loc, ADDR_EXPR, pt, valist);
4758 TREE_SIDE_EFFECTS (valist) = 1;
4761 if (TREE_SIDE_EFFECTS (valist))
4762 valist = save_expr (valist);
4763 valist = fold_build2_loc (loc, MEM_REF,
4764 vatype, valist, build_int_cst (pt, 0));
4767 return valist;
4819 std_expand_builtin_va_start (tree valist, rtx nextarg)
4821 rtx va_r = expand_expr (valist, NULL_RTX, VOIDmode, EXPAND_WRITE);
4831 tree valist;
4844 valist = stabilize_va_list_loc (loc, CALL_EXPR_ARG (exp, 0), 1);
4847 targetm.expand_builtin_va_start (valist, nextarg);
4849 std_expand_builtin_va_start (valist, nextarg);
4859 tree valist = CALL_EXPR_ARG (exp, 0);
4863 if (TREE_SIDE_EFFECTS (valist))
4864 expand_expr (valist, const0_rtx, VOIDmode, EXPAND_NORMAL);