http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51579
Bug #: 51579 Summary: GCC should be able report a warning for usage of parameters marked with __attribute__((unused)) Classification: Unclassified Product: gcc Version: 4.6.2 Status: UNCONFIRMED Severity: enhancement Priority: P3 Component: c AssignedTo: unassig...@gcc.gnu.org ReportedBy: y...@droneaud.fr I would like to see GCC emit a warning when a parameter marked as unused is in fact used in the function. The warning option could be something like -Wunused-parameter-used For example, the following code doesn't produce any warning. int foo (int *ptr, int val __attribute__((unused))) { int res; res = *ptr + val; return res; } It would be interesting to have a warning like this: test.c: In function 'foo': test.c:5:21: warning: parameter 'val' is used but marked as "unused" in declaration [-Wunused-parameter-used] Same thing could apply to function, type and variable specified with __attribute__((unused)) Additionally, a new attribute "warn_use" could be introduced to enforce the "unused" attribute, since "unused" attribute is not meant to prevent usage: - "This attribute, attached to a function, means that the function is meant to be possibly unused" - "When attached to a type (including a union or a struct), this attribute means that variables of that type are meant to appear possibly unused" - "This attribute, attached to a variable, means that the variable is meant to be possibly unused"