Existe uma maneira de ser avisado sobre funções não utilizadas?

Gostaria de encontrar funções não utilizadas em uma base de código - incluindo unidades de compilação. Estou usando o gcc como meu compilador.

Aqui está um exemplo:

foo.c (suponha quefoo.h):

void foo() {
   ....
}

void bar() {
   ....
}

main.c:

#include <stdio.h>
#include "foo.h"  

int main(void)  {
    bar();
    return 0;
}

Neste exemplo, eu gostaria de ser avisado sobrefoo() não está sendo usad

Há o-Wunused-function opção gcc:

-Wunused-function

Warn sempre que uma função estática for declarada, mas não definida, ou uma função estática não embutida não for usada. Este aviso é ativado por -Wall.

mas é apenas para funções estáticas - não produzirá um aviso no exemplo acim

Eu também aceito sugestões de ferramentas / scripts / outros compiladores que podem fazer isso por mim - embora eu prefira continuar comgcc se possível

questionAnswers(10)

yourAnswerToTheQuestion