Встроенный способ отключить проверки clang-tidy

я пытаюсь настроить 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 как цель pragma и компиляция с регулярным 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.

1 ответов


просто добавьте комментарий, содержащий строку NOLINT в любом месте строки, которую вы хотите Clang-tidy игнорировать. Например:

badcode;  // NOLINT