Suprimir aviso de compilador Função declarada nunca referenciada

Então eu tenho algum código como este:

void foo (int, int);

void bar ( )
{
    //Do Stuff

   #if (IMPORTANT == 1)
       foo (1, 2);
   #endif

}

Ao fazer uma compilação sem "IMPORTANTE" recebo um compilador Aviso que foo é definido e nunca referenciado. O que me fez pensar (esse é o problema).

Então, para consertar isso, eu apenas adicionei o mesmo#if (IMPORTANT == 1) em torno da definição de função, etc ... para remover o aviso, e então comecei a me perguntar se havia uma maneira diferente de suprimir o aviso sobre essa função. Eu estava olhando para o atributo "não utilizado" do GCC e não sabia se as funções tinham o mesmo atributo que eu poderia definir? Existe ainda uma outra maneira de suprimi-lo que suprime esse aviso para apenas essa função e não o arquivo?

questionAnswers(8)

yourAnswerToTheQuestion