Implicit function declarations were removed from C99, more than twenty years ago. So far, GCC only warns about them because there were too many old configure scripts where an error would lead to incorrect configure check failures.
I can try to fix the remaining configure scripts in Fedora and submit the required changes during this summer and fall. I would appreciate if GCC 10 refused to declare functions implicitly by default. According to my observations, lack of an error diagnostic has turned into a major usability issue. For bugs related to pointer truncation, we could perhaps change the C front end to produce a hard error if an int value returned from an implicitly declared function is converted to a pointer. But the other case involves functions defined as returning _Bool, and the result is used in a boolean context. The x86-64 ABI only requires that the lowest 8 bits of the return value are defined, so an implicit int results in int values which incorrectly compare as inqueal to zero. Given that the pointer truncation issue is only slightly more common, than the _Bool issue, I don't think the diagnostic improvement for pointers would be very helpful, and we should just transition to errors. Implicit int we should remove as well. Checking configure scripts for both issues at the same time would not be much more work. Thanks, Florian