Eric Blake wrote: > On 01/11/2012 04:44 PM, Paul Eggert wrote: >> On 01/11/12 15:24, Eric Blake wrote: >>> + best.len = 0; >> >> I have some qualms about adding unnecessary initializations >> merely to silence GCC. It's not just that it bloats the >> runtime -- it's that it makes the code more confusing, because >> later readers might mistakenly assume that the initializations >> are necessary, which might cause them to waste time trying to figure >> out why the initializations are there. >> >> How about if we put that assignment inside an "#ifdef lint", >> or wrap it in IF_LINT, or something like that? That should >> make it clearer and avoid the runtime bloat. > > But putting it inside #ifdef lint means you won't solve the compilation > warning in the default case. And in this case, it took me several
There are already numerous uses of IF_LINT and "#ifdef lint" in gnulib, so users of gnulib who enable warning options should not be surprised by warnings when they neglect to use -Dlint. It is good for maintainability to mark such an unnecessary initialization.