* 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

Reply via email to