问题标签 [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 回答
883 浏览

clang-format - 使用 clang-tidy 输出格式问题

是否可以设置 clang-tidy 以输出它发现的.clang-format文件定义的源代码格式的问题。基本上,告诉你如果在文件上运行 clang-format 会做什么样的改变。类似于以下内容:

Line 23: improper indentation, 4 spaces should be used

Line 47: opening brace for loops should be on the same line

如果没有,是否可以编写一个自定义支票,这可以为我做到这一点?

0 投票
1 回答
521 浏览

clang-tidy - 如何仅在源文件而不是所有标题中将 clang-tidy 约束为 FIX-IT

有谁知道是否可以使用 clang-tidy -fix 来不对头文件进行修改。(在所有或仅在当前目录中的标题)

我想先清理选定的源文件,然后再尝试处理数百个全局标头

0 投票
1 回答
309 浏览

static-analysis - clang 分析器无法检测空解引用

我正在使用 clang 静态分析器(clang++ --analyze 或 clang-tidy,win64,v6.0.1)。

在这种情况下,Clang 分析器可以检测到空解引用:

但不是这个:

我是clang-tidy的新手,我错过了什么吗?

问候

0 投票
0 回答
225 浏览

c++ - clang-tidy 错误地替换了 typedef 中的模板参数

我在选择的代码库上运行了 clang-tidy,并注意到一些类型定义,包括模板参数被错误地替换为具体类型。我设法用这个示例文件 test.cc 至少复制了其中一个问题:

在此文件上运行clang-tidy-6.0 -checks=modernize* test.cc会导致警告将所有typedefs替换为usings,但奇怪的是,第三个和第四个 typedef 替换Tint

T正如预期的那样,其余的人都有。出于某种原因,这种行为似乎只在有 11 个或更多类型定义时才会发生。

这是一个已知的错误?有没有一种解决方法,所以我可以让 clang-tidy 自动应用修复,而不会错误地替换一堆 typedef?

0 投票
1 回答
1653 浏览

c++ - Clang vs Clang tidy 是否检测到相同的警告和错误?

据我所知,Clan-tidy 可以在默认检查集(clang-analyser)之上进行这些检查 https://clang.llvm.org/extra/clang-tidy/checks/list.html 并且 Clang 也可以检测错误和警告 https://clang.llvm.org/docs/DiagnosticsReference.html 他们能检测到不同的错误或警告列表吗?
Clang-Tidy 在后台使用 Clang 吗?两者之间有什么联系吗?

0 投票
1 回答
425 浏览

c++ - MacOs 上的 LLVM - 标准文件 iosfwd 中的未知类型名称“模板”

我使用自制软件在 MacOS 10.13 上安装了 LLVM:

然后我根据本指南导出了所需的变量。

运行 clang-tidy 时:

我收到错误,所有这些都与标准文件有关:

可能是什么原因?

0 投票
1 回答
520 浏览

c++ - 静态 std::stringstream 的 Clang-tidy 警告

我有以下 MCVE:

当我在此代码上运行 clang-tidy 6.0.1 时,我收到以下警告:

看来问题出在 的构造函数std::stringstream有一个默认值为 的参数std::ios_base::out。我的问题是,这是一个真正的问题吗?如果是这样,std::stringstream在类中使用静态的正确方法是什么?

0 投票
0 回答
174 浏览

clang - 忽略 clang-tidy 中与内联汇编相关的诊断错误

我正在尝试使用 clang-tidy(版本 6.0.0)对应该在自定义控制处理器上运行的代码库运行一些静态分析。除了遇到内联汇编时会生成一些诊断错误外,它运行良好。

例如:错误:asm [clang-diagnostic-error] 中的未知寄存器名称“R0”

这是可以理解的,因为我正在运行不理解该处理器的自定义汇编语言的标准版本的 clang,但我想知道是否有办法抑制此类诊断错误,而不是修改 clang 以添加对汇编语言语法?

使用 NOLINT 不是一个选项,因为它会抑制同一行中的其他警告(例如,在内部调用内联汇编的 MACRO 中)。

感谢任何帮助!

0 投票
1 回答
900 浏览

c++ - C ++ 98,但clang-tidy说使用nullptr?

我正在使用 Clion,我的项目设置为 C++98,但 clang-tidy 建议使用 nullptr 而不是 NULL。

IDE 中的某个地方是否有一个整洁的设置,或者是其他什么?

0 投票
1 回答
6138 浏览

c++ - 如何在 windows 上使用和配置 clang-tidy?

我正在尝试使用 clang-tidy 代码分析,以便检查 CppCoreGuidelines。我下载了用于 Win 7 64 位的 LLVM 7.0.0 预构建二进制文件。我能够用clang成功编译,我做了一个编译这段代码的基本示例,我将源代码命名为test.cpp:

然后我在终端运行这个:

我在编译时得到了这个输出:

但它工作得很好,打印“Hello World”,直到这里一切都很好,但是当我想运行 clang-tidy 时,当我运行它时,我得到以下输出,我从这里获取了参考Extra Clang Tools 8 文档

我读了这个线程,但这似乎适用于clang编译,我不知道这是否也适用于clang额外工具,尤其是clang-tidy: 如何在Windows上编译Clang