Есть ли способ заставить `gcc -fanalyzer 'работать в компиляционных единицах?Linux

Anonymous
Есть ли способ заставить `gcc -fanalyzer 'работать в компиляционных единицах?

Сообщение Anonymous »

Я хотел бы использовать gcc -fanalyzer по нескольким c -файлам (). Например. Учитывая короткую программу < /p>

Код: Выделить всё

#include 

int get_buff(int id, int** buff)
{
static int empty[128];
switch(id)
{
case 0:
*buff = empty;
return 0;
default:
return -1;
}
}

int main()
{
int* from;
get_buff(1, &from);

int to[128];
memcpy(to, from, sizeof(to));

return 0;
}
< /code>
приведет к следующему предупреждению с GCC 14: < /p>
main.c:22:5: warning: use of uninitialized value ‘from’ [CWE-457] [-Wanalyzer-use-of-uninitialized-value]

Но если я положу get_buff в отдельный C-файл (

Код: Выделить всё

get_buff.c
) Затем я не получаю это предупреждение при составлении с GCC -Fanalyzer main.c get_buff.c . Как использовать -fanalyzer с несколькими компиляционными единицами?

Подробнее здесь: https://stackoverflow.com/questions/797 ... tion-units

Вернуться в «Linux»