我正在尝试为一个项目设置 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
and 3.8。clang-tidy