https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117577
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> --- I don't see any inconsistency. This isn't a warning, nor normal error, it is permerror_opt. Which is different from how -Werror=* behaves, those are warnings which can be promoted to errors. permerror_opt are errors, which can be demoted to warnings with -fpermissive or -Wno-error=<corresponding_warning_switch> and can be disabled altogether with -Wno-<corresponding_warning_switch>. -w just disables printing warnings (and demotes warnings promoted to errors to just warnings so those aren't printed either and don't result in failures).