问题标签 [clang-tidy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 如何从 clang-tidy 中的 CStyleCastExpr 匹配器获取宏名称?
我使用了一段时间的 clang-tidy 并创建了一些自己的检查。但现在我陷入了这个问题。我有一个 cstyle 转换表达式,我想从中获取一个宏名称作为字符串。
所以我注册了一个这样的匹配器
我能够像这样捕获每个 cstyle 演员并从中获得 subExpr 。
因此,clang tidy 现在给我的信息是我有“int”类型的子表达式,这是正确的,但我不知道如何获得它的名称。
我尝试的是动态转换为DeclRefExpr,但这没有通过。还尝试了动态强制转换为BuiltinType,然后我想获得一个声明但没有运气。
所以请帮忙。我认为这应该不难。
谢谢!
c++ - clang tidy pro type member init resharper
我有一些解析 json 的代码,如下所示:
Resharper 的 clang tidy 建议标记 QJsonParseError 错误是“未初始化的记录类型”
建议的修复方法是通过 {} 对于 C++11 将变量初始化为零。resharper 提供的自动修复,放在一些括号中,如:QJsonParseError errors{};
这实际上是什么意思/做什么?
clang - clang-tidy 是否使 clang-check 变得多余?
这两个工具似乎都有一些共同的目标,虽然clang-tidy 的文档对其功能非常明确,但clang-check 的内容却有点少。
如果我可以只运行其中一个工具同时进行相同的检查,那就太好了。显然,clang-tidy 有一些 clang-check 没有的特性,所以问题是:
是否有包含所有功能的 clang-tidy 检查组合clang-check -analyze
?
c++ - 如何在 CLion 中严格针对 C++98
出于某种原因,我无法将 CLion 配置为仅将 C++98 用于我的项目
- 我一直在为 c++11 而不是 c++98 变得整洁(如何将其设置为 C++98)
- 当我使用高于 C++98 的 C++ 版本的语法时,我没有收到任何红线或编译器错误(如何启用 C++98 的严格执行)
- 当我将 IDE 设置为 C++98 时,我不希望 IDE 让我使用任何高于 C++98 的标准(我该怎么做?)
有谁知道如何在 CLion 中执行此标准?我的猜测是将cmake文件配置为C++ 98。不确定我是否做得对...
我的CMakeLists.txt如下所示
ps 由于硬件限制,我没有选择在 C++98 和更低版本之外的任何其他版本中工作。
c++ - 为什么 clang-tidy 的 deadcode.DeadStores 会在 RAII 使用 reference_wrapper 的情况下引发警告?
代码片段:
因此,每次程序离开 foo() 的范围时都会调用函数 finish()。读取并打印变量“详细信息”的值。
但是......铿锵有力的输出:
将 std::bind 更改为 lambda 后,没有任何警告。我的问题是: bind 和/或 reference_wrapper 背后的魔力是什么,为什么 clang-tidy 不理解它?
c++ - 忽略由 3rd 方标头引起的 [clang-diagnostic-error] clang-tidy
我在开发中使用 clang-tidy 作为“linter”工具。我开始将 3rd 方软件集成到我的代码中,当我使用以下方法包含他们的头文件时:
产生了大量的错误,我什至还没有#include
标题。
我使用以下方法编译我的程序:
似乎这些“clang-diagnostic-errors”并没有停止编译,因为它继续编译并运行良好。是否有标志可以关闭/抑制此错误?我不想看到它,因为我没有编写这些头文件。
如果我摆脱了这个论点,-I/path/to/include
一切都编译得很好,没有错误。
c - “使用带二进制位运算符的有符号整数操作数” - 使用无符号短时
在以下 C 代码片段中,检查 16 位序列的前两位是否已设置:
CLion 的 Clang-Tidy 给了我一个“使用带二进制位运算符的有符号整数操作数”警告,我不明白为什么。unsigned short
未签名还不够吗?
llvm-clang - 带有 boost::variant 的 Clang-tidy 误报
在下面发布的这个最小示例上运行 clang-tidy 时,我从 clang-tidy 得到(imho)误报错误(最后的完整错误跟踪)
该代码只将 a 分配给boost::variant
两个值之一。如果我将复制构造函数替换为Size(const Size& sz) = default;
. 但是,我不能这样做,因为 Sizecv::Size
在实际代码中是 a 。
尽管它可能没有尽可能优雅,但我看不出有任何错误。如果我弄错了,clang-tidy或boost,有人可以指出我的方向。
我在跑步:
- 铿锵工具-额外提交 50fe75789f08b96284d2c14cb6583b3783c74460
- llvm 提交 afb8c1fed21eb4848d86f2d28e9cb3afcfbb2656
- 提升 1.67
完整的错误转储:
llvm - macOS homebrew llvm clang tidy 缺少一些检查
我已经使用以下提到的命令在 macOS 上通过 brew 安装了 LLVM:
我想使用clang-tidy
但缺少一些检查,例如 misc-string-compare。
可能是什么问题呢?
clang++ - Clang 格式输出错误
是否可以将 clang 格式的问题输出作为警告,说明要修复的内容类似于 clang tidy。由于易于设置样式,我更喜欢使用 clang 格式。