* Jakub Jelinek: > On Tue, Dec 05, 2023 at 04:38:55AM +0100, Kevin Kofler via devel wrote: >> Florian Weimer wrote: >> > The final patches for GCC 14 are currently under upstream review and >> > should land very soon. Earlier, I had received feedback that the larger >> > community desires just one transition, so we end up with the following >> > warnings which turn into errors by default: >> > >> > -Wimplicit-function-declaration >> > -Wimplicit-int >> > -Wint-conversion >> > -Wreturn-mismatch (new, previously part of -Wreturn-types) >> > -Wdeclaration-missing-parameter-type (new, previously unnamed) >> > -Wincompatible-pointer-types >> > >> > Only the first two were covered in the initial Fedora conversion work. >> >> As much as I understand the point of -Werror=implicit-function-declaration >> (since implicit function declarations can cause several subtle bugs), and >> implicit int is obscure enough for its removal to not be a big problem (even >> though its potential for causing bugs is much lower), as much I have to >> wonder about the others. Especially the incompatible pointer types sound >> more like nitpicking than actual bugs (though I guess strict aliasing can >> cause issues with those, but then I would expect to see -Wstrict-aliasing >> warnings). > > Look at the gimp case, where a function prototype was expecting double * > argument but caller was calling it with address of float. > void foo (double *); > void > bar () > { > float f = 5.0f; > foo (&f); > } > While this resulted in a warning even without -Wall, clearly nobody noticed > until this was made an error: And this results in an out-of-bounds write and potential memory corruption. That's actually not uncommon for such bugs. Here's a similar issue for python-tables: <https://github.com/PyTables/PyTables/commit/44168c0d8e4c059ea51c8bc98a10784a74454b54> Although the critical type size mismatch happens on 32-bit architectures and Windows only. Problems like these are the reason why I don't think the Clang approach of restricting to incompatible-function-pointer-types only makes much sense. Thanks, Florian -- _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue