This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Silencing "unused parameter" warning


Any good suggestions for silencing the "unused parameter" warnings on a per-case basis? As opposed to turning them all off via compiler option, that is.

I'd like to avoid the warnings for placeholder routines and API-required parameters that happen not to be needed in some routines, while retaining the warning for truly unneeded parameters.

Stupid coding tricks I've used in the past with other tools include a cast to void (which just substitutes a "expression may have no effect" warning with C51, no net gain) and commenting out the parameter name (which just earns a "unnamed parameter" error from C51). If "unnamed parameter" were just a warning, I'd probably opt for that and squelch it globally, since it's not likely to occur accidentally, but C158 is an error and prevents compilation.

Any favorite tricks to share?

Parents
  • That's a good one!

    I have definitely seen the optimiser removing "unconditional" ifs like this.
    Have you experimented to find the minimum optimisation level to do this?

    Have you tried this was other compilers?
    The trouble I often find is that this kind of trick stops the "unused parameter" warning, but gives a "code with no effect" (or similar) warning instead! :-(

Reply
  • That's a good one!

    I have definitely seen the optimiser removing "unconditional" ifs like this.
    Have you experimented to find the minimum optimisation level to do this?

    Have you tried this was other compilers?
    The trouble I often find is that this kind of trick stops the "unused parameter" warning, but gives a "code with no effect" (or similar) warning instead! :-(

Children