我正在尝试为一个项目设置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
本身的输出。
x86_64 Linux上的clang
和clang-tidy
3.8就是这样。
2条答案
按热度按时间sh7euo9m1#
只需在您希望clang-tidy忽略的行的任何位置添加包含字符串NOLINT的注解。例如:
请参阅此处的文档。
46qrfjad2#
从LLVM 14.0.0开始,您还可以用途: