【发布时间】:2016-10-23 08:34:07
【问题描述】:
我正在尝试为一个项目设置 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。
【问题讨论】:
标签: c++ clang++ clang-tidy