Поймал установленные, но неиспользуемые параметры с помощью лязга
Есть ли способ, которым я мог бы перехватить установленные, но неиспользуемые переменные, используя clang, что-то похожее на gcc Werror=unused-but-set-parameter
? Я поставил -Wunused
но Clang не ловит установленные, но неиспользуемые параметры.
3 ответа
Существует эквивалентное предупреждение, генерируемое clang-tidy, интегрированное из clang-analyzer:
note: Value stored to 'tmp' is never read
warning: Value stored to 'tmp' is never read [clang-analyzer-deadcode.DeadStores]
Похоже, что LLVM решил реализовать некоторые предупреждения GCC как отдельные инструменты.
Я не уверен, что вы пробовали больше, чем то, что вы перечислили, но вот больше информации о неиспользуемых опциях CLANG с использованием его совместимости с GCC:
Во-первых, вот что предлагает документация:
-Wextra -Wunused-but-set-parameter
Ниже приведена справочная справочная информация:
Если вы используете опцию компиляции LLVM-GCC или Apple LLVM, существует большое количество возможных предупреждений компилятора, которые вы можете включить / отключить. Внешний интерфейс Clang также поддерживает диагностические предупреждения GCC (см. http://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html) для обратной совместимости.
После ссылки по ссылке в этой цитате перечислены несколько неиспользуемых опций из семейства предупреждений GCC:
-Wall
Это включает все предупреждения о конструкциях, которые некоторые пользователи считают сомнительными, и которые легко избежать (или изменить, чтобы предотвратить предупреждение), даже в сочетании с макросами. Это также включает некоторые специфичные для языка предупреждения, описанные в опциях диалекта C++ и опциях диалекта Objective-C и Objective-C++.
-Wall turns on the following warning flags:
(there are many more, just listing 'unused')
...
-Wunused-function
-Wunused-label
-Wunused-value
-Wunused-variable
...
И, наконец, чуть ниже последнего блока:
-Wextra
This enables some extra warning flags that are not enabled by -Wall.
(This option used to be called -W. The older name is still supported, but the newer name is more descriptive.)
(again, there are more, just listing _unused variety)
-Wunused-parameter (only with -Wunused or -Wall)
-Wunused-but-set-parameter (only with -Wunused or -Wall)