(expand_builtin): Allow __builtin_next_arg to be used in varargs

functions.

From-SVN: r6237
This commit is contained in:
Richard Kenner 1993-12-15 18:14:13 -05:00
parent ede5754956
commit 1f9becfcbe
1 changed files with 8 additions and 1 deletions

View File

@ -6936,10 +6936,17 @@ expand_builtin (exp, target, subtarget, mode, ignore)
/* Return the address of the first anonymous stack arg. */
case BUILT_IN_NEXT_ARG:
{
tree parm;
tree fntype = TREE_TYPE (current_function_decl);
tree fnargs = DECL_ARGUMENTS (current_function_decl);
if (!(TYPE_ARG_TYPES (fntype) != 0
&& (TREE_VALUE (tree_last (TYPE_ARG_TYPES (fntype)))
!= void_type_node)))
!= void_type_node))
&& !(fnargs
&& (parm = tree_last (fnargs)) != 0
&& DECL_NAME (parm)
&& (! strcmp (IDENTIFIER_POINTER (DECL_NAME (parm)),
"__builtin_va_alist"))))
{
error ("`va_start' used in function with fixed args");
return const0_rtx;