Ответ 1
Просто добавьте комментарий, содержащий строку NOLINT, в любом месте строки, которую вы хотите, чтобы игнорировать. Например:
badcode; // NOLINT
// NOLINTNEXTLINE
badcode;
badcode; // NOLINT(cert-err-58-cpp)
См. Документацию здесь.
Я пытаюсь настроить clang-tidy для проекта. Я хотел бы иметь чистую выходную информацию и поощрять использование режима -fix, где это возможно. Однако есть отдельные случаи, когда требуется исключение.
Как можно использовать
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wreserved-id-macro"
// Code that is being specially exempted
#pragma clang diagnostic pop
для эквивалентного случая, когда требуется локально отключить предупреждение компилятора, возможно ли сделать что-то подобное из clang-tidy?
Я пробовал
#pragma clang diagnostic push
#pragma clang diagnostic ignored "readability-identifier-naming"
// Code that is being specially exempted
#pragma clang diagnostic pop
а также с заменой clang
на clang-tidy
. К сожалению, при использовании clang
в качестве цели прагмы и компиляции с помощью обычного clang, я получаю предупреждение о компиляции
warning: pragma diagnostic expected option name (e.g. "-Wundef") [-Wunknown-pragmas]
и
warning: unknown pragma ignored [clang-diagnostic-unknown-pragmas]
при компиляции, если я использую clang-tidy
вместо clang
. Не влияют на то, что сам clang-tidy
выводит при запуске через источник.
Это с clang
и clang-tidy
3.8 на x86_64 Linux.
Просто добавьте комментарий, содержащий строку NOLINT, в любом месте строки, которую вы хотите, чтобы игнорировать. Например:
badcode; // NOLINT
// NOLINTNEXTLINE
badcode;
badcode; // NOLINT(cert-err-58-cpp)
См. Документацию здесь.