Есть ли способ заставить `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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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