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

c++ - 重载的“operator++”返回一个非常量,并且clang-tidy抱怨

我刚刚收到来自 clang-tidy 的以下警告:

https://clang.llvm.org/extra/clang-tidy/checks/cert-dcl21-cpp.html

不幸的是,他们在那里提供的链接不起作用,并且https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?pageId=88046682没有简单的方法可以准确找到此规则(似乎 DCL 规则开始从 50)。

但无论我在标准中的哪个位置查看(例如 16.5.7 增量和减量 [over.inc]),我都没有发现后缀operator ++应该返回 const 的参考:

问题:只是clang-tidy 过度保护、错误或者我为什么要将后缀的返回类型声明为const?

0 投票
1 回答
5146 浏览

clang - .clang-tidy 配置文件中允许哪些值?

有没有记录.clang-tidy配置文件的地方?我能找到的只有这个:

具体来说,我想知道 FormatStyle 和 CheckOptions 的有效值是什么。

0 投票
2 回答
686 浏览

c++ - clang-tidy 在修复时插入多个“覆盖”说明符

我有这个cmake项目,我想使用clang-tidy. 为了不让太多事情同时发生,我只激活了该modernize-use-override选项。但是,当我应用这个时:

到项目中,clang-tidy插入override说明符的多个实例,例如:

我尝试遵循此处给出的建议并用于cmake创建 json 编译命令数据库:

我通过将编译器设置为系统范围的默认值(使用)来确定cmake实际上是在拾取编译器。在这种情况下,生成调用 clang 编译器的 make 文件。clangupdate-alternativecmake

我正在使用 Ubuntu 18.10 和 clang 7。

我也尝试过使用clang-6和设置cmake来生成ninja构建脚本而不是make文件,但结果总是一样的。

在应用修复之前,整个项目都可以正常编译gccclang

请注意这里有一个类似的讨论但是那里给出的建议是使用run-clang-tidy.py,这正是我正在做的。因此,我不认为这是重复的。

0 投票
1 回答
1553 浏览

c++ - CMAKE_CXX_CLANG_TIDY:避免 clang-diagnostic-error 中断构建

我正在使用 clang-tidy 作为 linter (cmake -DCMAKE_CXX_CLANG_TIDY=clang-tidy) 构建一个 C++ 项目。

更新我的系统(Fedora 28->29,cmake 3.11->3.12 我相信)后,当 clang-tidy 报告一些 clang-diagnostic-error (我现在无法修复......)时,我无法再构建。我很确定 clang-diagnostic-error 并没有更早地中断构建......但我不能百分百确定。

编辑:更改发生在 clang-tidy 中,现在它在发现错误时返回非零退出代码。

是否可以抑制这些错误,类似于“-warnings-as-errors”的反面?

0 投票
1 回答
16101 浏览

macos - 如何在 macOS 上安装 clang-tidy?

如何在 macOS 上安装clang-tidy ?

在 macOS 上安装clang-format (使用 brew)似乎很容易,但如果不安装和构建所有 clang 并从源代码构建,安装clang-tidy似乎要困难得多。有更好的选择吗?

0 投票
1 回答
543 浏览

clang-tidy - 将子选项设置为 clang-tidy

我正在使用 cmdline 的 clang-tidy clang-tidy readability-implicit-bool-conversion ... <other_options>"。这个 clang-tidy 选项有 sub-option AllowPointerConditions,为了让 clang-tidy 允许我使用if (!p)whithot 警告。

https://clang.llvm.org/extra/clang-tidy/checks/readability-implicit-bool-conversion.html

如何从命令行启用此功能?谢谢

0 投票
2 回答
2383 浏览

clang-tidy - clang-tidy -fix 不应用任何更改

我正在clang-tidy使用以下命令运行:

(或clang-tidy -checks="-*,cppcoreguidelines-*,hicpps-*" -header-filter=".*" -fix"也有效)

这会返回很多错误。自从我添加了该选项后,它还applying fixes...在终端中显示。-fix

我的问题是未应用cppcoreguidelines-*hicpps-*修复,仅显示。我选择的检查是否不支持修复我的 1000 个问题?

0 投票
0 回答
316 浏览

c++ - Clang-Tidy:冗余的 'operator<<' 声明

我试图给我的班级写一个朋友运算符<<,但我收到了这个冗余警告。并且无法弄清楚如何解决它。

先感谢您。

Edit 1 //Removed template Y from operator<< int he class declaration

现在我收到了警告

警告:朋友声明 'std::ostream& operator<<(std::ostream&, const test&)' 声明了一个非模板函数 [-Wnon-template-friend]

PS:在 Visual Studio 中我得到了错误链接

EDIT 1.2 //编辑完成EDIT 1

我将编辑 1 更改如下:

因此警告和错误链接得到解决。

0 投票
1 回答
1362 浏览

c++ - 关于静态全局 lambda 变量的错误警告?

提供以下代码,在全局范围内,clang-tidy 不会发出警告:

但是,在执行以下操作时,它会:

将 lambda 标记为noexcept无济于事。

但是,我不明白为什么这会是一个问题。理论上,只有在调用lambda 时才会发生异常,不是吗?

以下代码不会导致出现警告:

clang-tidy 是错的,还是我错过了什么?

0 投票
3 回答
1081 浏览

c++ - 是否可以使用 ccache 或类似工具加速 clang-tidy?

自从ccache在我们的 CI 服务器上使用以来,我们发现构建时间方面的瓶颈现在是我们的静态分析通道,它使用clang-tidy. 有谁知道以clang-tidy类似于ccache使用常规编译器的方式加速的方法?