Yes, patch updated: Testing on-going.
Dehao Index: gimple-low.c =================================================================== --- gimple-low.c (revision 199414) +++ gimple-low.c (working copy) @@ -254,6 +254,8 @@ && !fold_convertible_p (DECL_ARG_TYPE (p), arg))) return false; } + if (p != NULL) + return false; } else if (parms) { On Thu, May 30, 2013 at 4:10 PM, Xinliang David Li <davi...@google.com> wrote: > On Thu, May 30, 2013 at 3:47 PM, Dehao Chen <de...@google.com> wrote: >> This patch makes more strict check of call args to make sure the >> number of args match. >> >> Bootstrapped and passed regression tests. >> >> OK for google branches? >> >> Thanks, >> Dehao >> >> Index: gcc/gimple-low.c >> =================================================================== >> --- gcc/gimple-low.c (revision 199414) >> +++ gcc/gimple-low.c (working copy) >> @@ -254,9 +254,13 @@ gimple_check_call_args (gimple stmt, tree fndecl) >> && !fold_convertible_p (DECL_ARG_TYPE (p), arg))) >> return false; >> } >> + if (p != NULL) >> + return false; >> } >> else if (parms) >> { >> + if (list_length (parms) - nargs != 1) >> + return false; > > This does not seem to be correct for vararg functions. > > David > > >> for (i = 0, p = parms; i < nargs; i++, p = TREE_CHAIN (p)) >> { >> tree arg;