Especially since there is a widely recognized way to ignore a parameter:
(void) a;
Every C programmer beyond weaning knows that. (void) a;
Every C programmer beyond weaning knows that. #if otherbuild
dosomething(param);
#endif
the above type of thing happens once in a while. nos the paramater is needed but the normal build doesn't use it