Home > OS >  Inhibit error messages for unused static functions?
Inhibit error messages for unused static functions?

Time:06-08

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)
{
}
  •  Tags:  
  • c gcc
  • Related