In C code, if a function is used exclusively within a file, it's good practice to declare it to be static
.
But sometimes I define a function to be static but don't actually use it (yet), in which case the compiler complains at me:
../src/app.c:79:12: error: 'foo' defined but not used [-Werror=unused-function]
What's the right way to tell the compiler (gcc in this case) that unused static functions are okay?
CodePudding user response:
You can add the unused
attribute to the function:
__attribute__((unused))
static void foo(void)
{
}
CodePudding user response:
You can disable that specific error by providing this argument to GCC:
-Wno-unused-function
The error itself contained a hint that you could do this.
CodePudding user response:
I am lazy and standard compliant, and just do inline
, and it suppresses the warning.
static inline void foo(void)
{
}