Мне также нравится проверять все возможные предупреждения, которые выдает компилятор в моем проекте. К сожалению, ответ о Intel C ++ компиляторе был не очень информативен для меня (ссылка не работает). Я сделал свое собственное исследование.
Поскольку я использую Qt 5 и qmake , у меня есть предопределенный уровень предупреждения -w1 . С этим ничего не поделаешь. Но это еще не все, и у ICC больше ключей:
-Wcomment
-Weffc++
-Wextra-tokens
-Wformat
-Winline // don't use, show only for example
-Wmain
-Wmissing-declarations
-Wmissing-prototypes
-Wnon-virtual-dtor
-Wp64
-Wpointer-arith
-Wremarks
-Wreturn-type
-Wsign-compare
-Wstrict-aliasing
-Wstrict-prototypes
-Wtrigraphs
-Wuninitialized
-Wunknown-pragmas
-Wunused-variable
Подробнее обо всех клавишах .
Также хочу добавить, что, в отличие от GCC, ICC выдает несколько предупреждений для одного ключа, например, ключ -Weffc ++ . Если вы хотите видеть только несколько предупреждений из всего списка, используйте клавишу -wd .
Я отключаю: -wd1418,2012,2015,2017,2022,2013 . И предупреждения -wd1572,873,2259,2261 были отключены в qmake по умолчанию.
Я использую PCH, и мне было очень неприятно видеть в Qt Creator сообщения об использовании файла PCH, такие как ошибка. Чтобы отключить, используйте -Wno-pch-messages .
Для отключения предупреждения в коде я использую:
#if defined(Q_CC_INTEL)
#pragma warning( push )
#pragma warning( disable: 2021 )
#endif
// some code
#if defined(Q_CC_INTEL)
#pragma warning( pop )
#endif