Ian Lance Taylor - Re: [PATCH] Fix ICE on sprintf (p, "%s") and miscompilation of sprintf ( (original) (raw)

This is the mail archive of the gcc-patches@gcc.gnu.orgmailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Fix ICE on sprintf (p, "%s") and miscompilation of sprintf (p, "a", q++) (PR middle-end/30473)


Jakub Jelinek jakub@redhat.com writes:

On Thu, Feb 01, 2007 at 02:26:14PM -0800, Ian Lance Taylor wrote:

  • arglist = TREE_CHAIN (TREE_CHAIN (arglist));

Please use a new variable here, e.g., third_argument, rather than reusing arglist. New variables are fairly cheap, and I think it will make the rest of the patch more comprehensible.

I tried to follow all other {fold,expand}builtinprintf routines which also advance arglist (the big difference is that they usually don't call verify_arglist but validate it by hand). third_argument would be a wrong name, as 3rd argument really is TREE_VALUE (TREE_CHAIN (TREE_CHAIN (arglist))), but guess this can be called args or something similar.

Oh, OK, if the other functions do it that way, you can do it that way too. I think it's a little bit confusing, but it would be more confusing for different functions to do it differently.

Thanks.

Ian


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]