как генерировать отчеты для кода C с помощью clang

Следуя указаниям с главной веб-страницы статического анализатора clang(http://clang-analyzer.llvm.org/scan-build.html)...

У меня есть небольшой файл C, в котором содержится ужасная ошибка -(badcode.c):

int main(int argc, char ** argv)
{
    int j;
    int a[4];
    puts(a[j]);
    return 'a';
}

Чтобы получить общее представление о том, как статический анализатор clang (сканирует -создает )слов, я запускаю:

scan-build -v clang badcode.c

Выводит:

scan-build: Emitting reports for this run to '/tmp/scan-build-2012-08-17-1'.
scan-build: 'clang' executable not found in '/usr/share/clang/scan-build/bin'.
scan-build: Using 'clang' from path: /usr/bin/clang
badcode.c:7:2: warning: implicit declaration of function 'puts' is invalid in C99 [-Wimplicit-function-declaration]
        puts(a[j]);
        ^
1 warning generated.
scan-build: Removing directory '/tmp/scan-build-2012-08-17-1' because it contains no reports.

Хорошо, отлично, clang выдает небольшое предупреждение, но a.out все равно генерируется. И почему он не выдает отчет? Неинициализированная переменная jдолжна быть болезненно очевидным красным флажком для любого статического анализатора --, почему о ней не сообщается?

Я просто использую неправильные аргументы командной строки?

6
задан Bill VB 17 August 2012 в 14:49
поделиться