This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [GOOGLE] More strict checking for call args
- From: Dehao Chen <dehao at google dot com>
- To: Xinliang David Li <davidxl at google dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Thu, 30 May 2013 17:11:09 -0700
- Subject: Re: [GOOGLE] More strict checking for call args
- References: <CAO2gOZWs7maFPDo=EZUe1mPARfNFxxnA5Yg3z0Wo0WS1+2ji2Q at mail dot gmail dot com> <CAAkRFZKtX380sCAfVebYq8tXMR61OrLSk3p72E0T8cmvijVUvA at mail dot gmail dot com>
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 <davidxl@google.com> wrote:
> On Thu, May 30, 2013 at 3:47 PM, Dehao Chen <dehao@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;