https://gcc.gnu.org/bugzilla/show_bug.cgi?id=44677
--- Comment #30 from Jakub Jelinek <jakub at gcc dot gnu.org> --- (In reply to Vincent Lefèvre from comment #28) > It seems that to get -Wunused-but-set-parameter=3 implicitly, one needs > -Wextra (contrary to -Wunused-but-set-variable=3). So the condition > > -Wunused or -Wall or -Wunused -Wextra or -Wall -Wextra > > (which includes the -Wunused alone) seems to be valid only for the > unused-but-set-variable case. Sure, -Wunused-but-set-parameter* has always been only with -Wunused -Wextra (where -Wunused is enabled by -Wall), while -Wunused-but-set-variable* just by -Wunused. Nothing changed on that. The docs document that: This @option{-Wunused-but-set-parameter=3} warning is also enabled by @option{-Wunused} together with @option{-Wextra}. vs. This @option{-Wunused-but-set-variable=3} warning is also enabled by @option{-Wunused}, which is enabled by @option{-Wall}.