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
  • For attempts at portable code, I just go with a macro:

    #define UNUSED(arg) blah arg blah blah

    which is tossed into the same file as the definitions for U8/16/32s, Bool, FAR / FAST / NEAR / BULK / ROM, and other compiler-specific fiddly keywords.

    Then, you just have different definitions for the macro that best avoid compiler and lint warnings on that particular platform.

Reply
  • For attempts at portable code, I just go with a macro:

    #define UNUSED(arg) blah arg blah blah

    which is tossed into the same file as the definitions for U8/16/32s, Bool, FAR / FAST / NEAR / BULK / ROM, and other compiler-specific fiddly keywords.

    Then, you just have different definitions for the macro that best avoid compiler and lint warnings on that particular platform.

Children
No data