内联方式禁用铿锵的检查

时间:2016-06-21 17:01:01

标签: c++ clang++ 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作为编译指示目标并使用常规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本身输出的内容产生影响。

在x86_64 Linux上使用clangclang-tidy 3.8。

1 个答案:

答案 0 :(得分:22)

只需添加一个注释,其中包含您希望clang-tidy忽略的行上的字符串NOLINT。例如:

badcode;  // NOLINT

// NOLINTNEXTLINE
badcode;

badcode; // NOLINT(cert-err-58-cpp)

请参阅文档here