c++ - 如何从 clang-tidy 文件中排除单个检查?
问题描述
让我们谈谈这个简单的例子:
#include <iostream>
int main(int argc, char *argv[])
{
std::cout << "started " << argv[0] << " with " << argc << " params." << std::endl;
return 0;
}
我们有一个最小的.clang-tidy
文件,如下所示:
Checks:
'-*,
cppcoreguidelines-*,
-cppcoreguidelines-pro-bounds-pointer-arithmetic'
WarningsAsErrors:
'*'
即使我收到以下警告:
src/main.cpp:5:30: error: do not use pointer arithmetic [cppcoreguidelines-pro-bounds-pointer-arithmetic,-warnings-as-errors]
std::cout << "started " << argv[0] << " with " << argc << " params." << std::endl;
^
我不想NOLINT
在我的代码中乱七八糟,也不想CMakeLists.txt
仅仅因为clang-tidy
.
有没有一种干净的方法来掩盖.clang-tidy
文件中的一些单一检查?
我在 Linux 的 6.0.0 版本中使用 gcc/g++ 和 clang-tidy。我知道如何禁用铿锵整洁的检查?- 但它没有回答我的问题,而且重复的链接完全是错误的。
解决方案
就我而言,我认为问题与全局扩展顺序有关。最初,Checks
我的行.clang-tidy
是这样的:
Checks: 'clang-diagnostic-*,clang-analyzer-*,*'
我想禁用altera-unroll-loops
诊断。修复方法是在最后偷偷摸摸的 glob-all 之后添加它:
Checks: 'clang-diagnostic-*,clang-analyzer-*,*,-altera-unroll-loops'
最初,我将它放在 之前*
,我认为这导致它被覆盖。我也没有问题,它被分成多行,就像你上面所说的那样。
推荐阅读
- reactjs - ReactFire / Firebase 挂钩放置
- microservices - Circular dependency of client libraries
- python - 来自 NOAA API 的天气数据从服务器返回错误
- delphi - 如何获取 MessageDlgPos 尺寸?
- google-cloud-platform - 未找到谷歌测试版权限
- r - 尝试添加点是折线图的特定点删除了线条
- passenger - 如何将临时乘客文件夹 (passenger-standalone...) 从 /tmp 移动到 NFS volumen
- google-calendar-api - 事件的结尾保存不正确
- pandas - python: aggregate columns in pivot table with multiindex structure
- node.js - 模型相互引用错误:循环依赖问题