Florian Weimer 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++. Obviously the behaviour is different for C, but it's a serious code smell. I've been playing with it for C for a while and I don't get that many hits with it of this type. > * dereferencing void * > * taking the address of void I think I've seen these but they've been accompanied by other issues. > * "function types not truly compatible in ISO C" > and "types are not quite compatible" (depending on what they actually mean) > * qualifier mismatches (may need separate opt-out) This has been common for func. ptrs. but not too bad. I haven't got any data on other cases but am a bit worried about how noisy it'll be for those. > * sign mismatches in pointers (definitely needs separate opt-out) >