GCC компилятор анализирует варнинги и веселости кода в зависимости от уровня оптимизации.
Очень весело его было заставлять делать даную фичу "gcc failing to warn of uninitialized variable"
для кода:
static uint32_t CompilerWarningsTest(uint32_t input)
{
uint32_t result;
if ( input > 0 )
{
result = 10;
}
return result;
}
Но ет все лирика, грабли в том что в зависимости от включеного уровня оптимализации ( -Os/-O3 / -Of ) различается количество варнингов в коде хотя -Wall -Wextra включены.
Очень неприятно найти ет перед релизом.
Вобщем при анализе кода хорошо его гонять при разых вариантах оптимизации, как я понял некоторый анализ включается ток при использовании алгоритмов оптимизации, и на флаги варнингов оно плюет с высокой горки .