On Thu, Jun 25, 2020 at 10:45:32PM +0200, SZEDER Gábor wrote: > > So this really seems like a pointless false positive from the compiler, > > and it's a rather old compiler (the warning no longer triggers in gcc 6 > > and up). Is it worth caring about? Ubuntu Trusty is out of standard > > support but not fully EOL'd until 2022. Debian jessie has gcc 4.9 > > which triggers the warning, but will hit EOL in 5 days. If it were an > > actual breakage I'd be more concerned, but keeping such an old compiler > > -Werror clean doesn't seem that important. > > > > I'd note also that none of the Actions CI jobs run with this compiler > > version. If we _do_ want to care about it, it might be worth covering it > > there. > > C99 style 'for' loop initial declarations are still frowned upon in > Git's codebase, and as far as we know it GCC 4.8 is the the most > recent compiler that can reasonably detect it; see fb9d7431cf > (travis-ci: build with GCC 4.8 as well, 2019-07-18). TBH, that does not seem like that compelling a reason to me to keep it around. If no compiler is complaining of C99 for-loop declarations, then maybe we should consider loosening our style. Or are we trying to be kind of some unknown set of platform-specific compilers that we can't feasibly hit in our CI? I also note that fb9d7431cf mentions that -std=c90 doesn't work, because there are other spots where we violate the standard (looks like "inline" is a big one). But gcc with -std=gnu89 seems to compile just fine for me, and does notice for-loop declarations. That's obviously totally unportable, but it would be sufficient for a CI test. -Peff