<div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div style="word-wrap:break-word">The 'format' attribute already states whether or not it takes 'printf' or 'scanf' format strings.  That's not really the issue here.  </div>
</blockquote><div><br></div><div>[I think Ahmed was saying that the format string annotation could say whether it's a no-op on empty or not]</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div style="word-wrap:break-word">The issue is whether or not the function is a no-op given an empty format string.  For a 'scanf' format string, it's clearly a no-op given no format string.  For a 'printf' format string, that's not necessarily the case.</div>
</blockquote><div><br></div><div>Is it really the job of this warning to catch that case though? Lots of functions are no-ops when passed certain arguments (write of zero length, etc). While it's perhaps a "nice to have"/convenient thing we might be able to get here for low cost compared to any attempt to tackle the general problem, I'm not sure it's worth contorting things to satisfy when it was more a coincidental win than an intentional one.</div>
<div><br></div><div>- David</div></div>