Есть ли способ получить предупреждение о неиспользуемых функциях?

Я хочу найти неиспользуемые функции в кодовой базе - в том числе в разных компиляторах. В качестве компилятора я использую gcc.

Вот пример:

foo.c (предположим, соответствующий foo.h):

void foo() {
   ....
}

void bar() {
   ....
}

main.c:

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

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

В этом примере я хотел бы получить предупреждение о том, что foo() не используется.

Существует опция -Wunused-function gcc:

-Wunused-function

Предупреждать всякий раз, когда статическая функция объявлена, но не определена, или неинлайновая статическая функция не используется. Это предупреждение включено опцией -Wall.

но только для статических функций - оно не выдает предупреждение в приведенном выше примере.

Я также приму предложения инструментов/скриптов/других компиляторов, которые могут сделать это за меня - хотя я бы предпочел придерживаться gcc, если это возможно.

45
задан Timothy Jones 7 April 2015 в 15:44
поделиться