* David Brown: > On 18/02/2021 13:31, Florian Weimer via Gcc wrote: >> * Jonathan Wakely via Gcc: >> >>> Declare your functions. Don't ignore warnings. >> >> It's actually a GCC bug that this isn't an error. However, too many >> configure scripts would still break if we changed the default. >> > > People have had 22 years to fix them. Implicit function declarations > were a terrible idea from day 1, and banned outright in C99. It was > reasonable for them to be accepted when the default C standard for gcc > was "gnu90" - they should have never been acceptable in any later > standards without needing an explicit flag. Since gcc 5 they have given > a warning by default - surely it is time for them to be a hard error?
Have you actually tried to make the change and seen what happens? I fixed one bug in GCC less than two years ago because apparently, I was the first person trying to change the GCC default for real. This was actually my second attempt, this time using Jeff's testing infrastructure. The first attempt totally broke Fedora, so we gave up immediately and never even got as far as encountering the GCC bug. The second attempt got a little bit further, fixing bash, gawk, gettext, gnulib, make. Maybe that's all of GNU that needed fixing, but that seems unlikely (I didn't get through the full list of failing components). There were also many failures from other sources. Some looked rather hard to fix, for example unzip <https://bugzilla.redhat.com/show_bug.cgi?id=1750694>. In many cases key system components were affected where the upstream status is a bit dubious, so there is no good place for distributions coordinating their fixes and share the effort. This is just another thing that is unfixable in (GNU) C. Personally, I have stopped caring as long as the problem is not present in C++. Thanks, Florian