Don't diagnose -Wunused-parameter in methods that override other methods because the overridden methods might use the parameter
Don't diagnose -Wunused-parameter in virtual methods because these might be overriden by other methods that use the parameter.
Such diagnostics could be more accurately written if they are based on whole-program-analysis that establish if such parameter is unused in all methods.