Florian Weimer <f...@deneb.enyo.de> writes:
> * Sam James: > >> Florian Weimer <f...@deneb.enyo.de> writes: >> >>> [...] >>> In summary, all these seems to be good candidates for errors by default: >>> >>> * int-conversion as errors (already raised separately >>> * -Wint-conversion for ?: >>> * parameter names in non-prototype function declarations >>> * the union wait function pointer compatibility kludge >>> * return-with-out-value for non-void functions >>> * -Wincomatible-pointer-types warning for ?: (but no error yet, see below) >>> >>> This are more “maybe“: >>> >>> * incompatible-pointer-types as errors (already raised separately) >>> * int-conversion and incompatible-pointer-types in comparisons >>> * return with value in a function returning void >> >> -Wreturn-type tends to bite people with C++. > > Sorry, what do you mean? Falling off the end of a function in C++ is UB and people fall victim to it often, but in C, it's only UB if you try to use its return value. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109364 is one example of many. What I meant was: I see this a lot in C++ and sometimes in C but it's usually trivial to fix, even if it's less harmful for some of the instances.