http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50477
--- Comment #6 from Jason Merrill <jason at gcc dot gnu.org> 2012-05-24 19:46:02 UTC --- I sympathize with your argument, but I think that some users will want the current behavior. One way you could work around this that wouldn't involve uglifying every affected function would be to add #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wunused-parameter" .... #pragma GCC diagnostic pop around the header.