
Dear Stefan,
in message 200905071739.56301.sr@denx.de you wrote:
Linux kernel btw. Here the macro "__maybe_unsed" is defined to "__attribute__((unused))".
In many cases? a rgrep on a recent kernel counts 84 incantations, which is not much for the Linux kernel, I believe.
Perhaps it's quite new to the Linux kernel. I just spotted it the first time a few weeks ago and thought: "What a nice way to remove some of the ugly #ifdef's in U-Boot!". :)
My understanding was that this is (only?) intended for function declarations to silence warnings about unused function arguments (which may be necessary anyway for compatible call interface with other functions that actually need this arg).
This could be the case. But this could happen to the #ifdef version as well. That the #ifdef'ed variable declaration stays in the code after removing the code referencing the variables.
No. In this case the compiler will issue warnings abouit "unused variable".
Best regards,
Wolfgang Denk