* Florian Weimer: > 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)
I think we have another problem. We do not warn by default for: int x; unsigned *p; p = &x; Isn't that a conformance issue because the pointers are incompatible, requiring a diagnostic? Furthermore, Unlike the char case, this tends to introduce strict-aliasing violations, so there is a good reason to treat this variant as an error (even if we would only warn for char * and unsigned char *).