禁用 clang-tidy 检查的内联方法
Inline way to disable clang-tidy checks
我正在尝试为项目设置 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 上。
只需在您希望 clang-tidy 忽略的行的任意位置添加包含字符串 NOLINT 的注释。例如:
badcode; // NOLINT
// NOLINTNEXTLINE
badcode;
badcode; // NOLINT(cert-err-58-cpp)
请参阅文档 here。
我正在尝试为项目设置 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 上。
只需在您希望 clang-tidy 忽略的行的任意位置添加包含字符串 NOLINT 的注释。例如:
badcode; // NOLINT
// NOLINTNEXTLINE
badcode;
badcode; // NOLINT(cert-err-58-cpp)
请参阅文档 here。