问题标签 [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.

0 投票
1 回答
274 浏览

c++ - 如何从 clang-tidy 中的 CStyleCastExpr 匹配器获取宏名称?

我使用了一段时间的 clang-tidy 并创建了一些自己的检查。但现在我陷入了这个问题。我有一个 cstyle 转换表达式,我想从中获取一个宏名称作为字符串。

所以我注册了一个这样的匹配器

我能够像这样捕获每个 cstyle 演员并从中获得 subExpr 。

因此,clang tidy 现在给我的信息是我有“int”类型的子表达式,这是正确的,但我不知道如何获得它的名称。

我尝试的是动态转换为DeclRefExpr,但这没有通过。还尝试了动态强制转换为BuiltinType,然后我想获得一个声明但没有运气。

所以请帮忙。我认为这应该不难。

谢谢!

0 投票
1 回答
413 浏览

c++ - clang tidy pro type member init resharper

我有一些解析 json 的代码,如下所示:

Resharper 的 clang tidy 建议标记 QJsonParseError 错误是“未初始化的记录类型”

建议的修复方法是通过 {} 对于 C++11 将变量初始化为零。resharper 提供的自动修复,放在一些括号中,如:QJsonParseError errors{};

这实际上是什么意思/做什么?

0 投票
1 回答
3613 浏览

clang - clang-tidy 是否使 clang-check 变得多余?

这两个工具似乎都有一些共同的目标,虽然clang-tidy 的文档对其功能非常明确,但clang-check 的内容却有点少。

如果我可以只运行其中一个工具同时进行相同的检查,那就太好了。显然,clang-tidy 有一些 clang-check 没有的特性,所以问题是:

是否有包含所有功能的 clang-tidy 检查组合clang-check -analyze

0 投票
1 回答
693 浏览

c++ - 如何在 CLion 中严格针对 C++98

出于某种原因,我无法将 CLion 配置为仅将 C++98 用于我的项目

  1. 我一直在为 c++11 而不是 c++98 变得整洁如何将其设置为 C++98
  2. 当我使用高于 C++98 的 C++ 版本的语法时,我没有收到任何红线或编译器错误如何启用 C++98 的严格执行
  3. 当我将 IDE 设置为 C++98 时,我不希望 IDE 让我使用任何高于 C++98 的标准我该怎么做?

有谁知道如何在 CLion 中执行此标准?我的猜测是将cmake文件配置为C++ 98。不确定我是否做得对...

我的CMakeLists.txt如下所示

ps 由于硬件限制,我没有选择在 C++98 和更低版本之外的任何其他版本中工作。

0 投票
0 回答
568 浏览

c++ - 为什么 clang-tidy 的 deadcode.DeadStores 会在 RAII 使用 reference_wrapper 的情况下引发警告?

代码片段:

因此,每次程序离开 foo() 的范围时都会调用函数 finish()。读取并打印变量“详细信息”的值。

但是......铿锵有力的输出:

将 std::bind 更改为 lambda 后,没有任何警告。我的问题是: bind 和/或 reference_wrapper 背后的魔力是什么,为什么 clang-tidy 不理解它?

0 投票
1 回答
11277 浏览

c++ - 忽略由 3rd 方标头引起的 [clang-diagnostic-error] clang-tidy

我在开发中使用 clang-tidy 作为“linter”工具。我开始将 3rd 方软件集成到我的代码中,当我使用以下方法包含他们的头文件时:

产生了大量的错误,我什至还没有#include标题。

我使用以下方法编译我的程序:

似乎这些“clang-diagnostic-errors”并没有停止编译,因为它继续编译并运行良好。是否有标志可以关闭/抑制此错误?我不想看到它,因为我没有编写这些头文件。

如果我摆脱了这个论点,-I/path/to/include一切都编译得很好,没有错误。

0 投票
3 回答
27054 浏览

c - “使用带二进制位运算符的有符号整数操作数” - 使用无符号短时

在以下 C 代码片段中,检查 16 位序列的前两位是否已设置:

CLion 的 Clang-Tidy 给了我一个“使用带二进制位运算符的有符号整数操作数”警告,我不明白为什么。unsigned short未签名还不够吗?

0 投票
0 回答
376 浏览

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 提交 afb8c1fed21eb4848d86f2d28e9cb3afc​​fbb2656
  • 提升 1.67

完整的错误转储:

0 投票
1 回答
1246 浏览

llvm - macOS homebrew llvm clang tidy 缺少一些检查

我已经使用以下提到的命令在 macOS 上通过 brew 安装了 LLVM:

我想使用clang-tidy但缺少一些检查,例如 misc-string-compare。

可能是什么问题呢?

0 投票
1 回答
291 浏览

clang++ - Clang 格式输出错误

是否可以将 clang 格式的问题输出作为警告,说明要修复的内容类似于 clang tidy。由于易于设置样式,我更喜欢使用 clang 格式。