如何抑制特定 clang-tidy 警告
️ clang-tidy 的规则能够帮助检查潜在的问题,不要盲目抑制警告!
可以通过添加 NOLINT, NOLINTNEXTLINE, 以及 NOLINTBEGIN … NOLINTEND 注释来抑制某些(或所有)clang-tidy 警告。
NOLINT抑制同一行的警告NOLINTNEXTLINE抑制下一行的警告NOLINTBEGIN…NOLINTEND抑制多行警告- 上述 3 种标记都可以增加一对圆括号,来抑制特定类型的警告,可以用逗号分隔,抑制多种类型的警告;通配符也是可以的!
class Foo {
// 抑制本行所有的警告
Foo(int param); // NOLINT
// 可以增加说明,解释抑制警告的理由
Foo(char param); // NOLINT: Allow implicit conversion from `char`, because <some valid reason>
// 只抑制 google-explicit-constructor 和 google-runtime-int 两种类型的警告
Foo(double param); // NOLINT(google-explicit-constructor, google-runtime-int)
// 抑制所有 `google` 开头的警告
Foo(bool param); // NOLINT(google*)
// 抑制所有以 `-avoid-c-arrays` 结尾的警告
int array[10]; // NOLINT(*-avoid-c-arrays)
// 抑制下一行 google-explicit-constructor 和 google-runtime-int 警告
// NOLINTNEXTLINE(google-explicit-constructor, google-runtime-int)
Foo(bool param);
// 抑制下一行所有 `google` 开头的警告
// NOLINTNEXTLINE(google*)
Foo(bool param);
// 抑制下一行以 `-avoid-c-arrays` 结尾的警告
// NOLINTNEXTLINE(*-avoid-c-arrays)
int array[10];
// 抑制 NOLINTBEGIN 和 NOLINTEND 之间所有的 google-explicit-constructor 和 google-runtime-int 警告
// NOLINTBEGIN(google-explicit-constructor, google-runtime-int)
Foo(short param);
Foo(long param);
// NOLINTEND(google-explicit-constructor, google-runtime-int)
// 抑制 NOLINTBEGIN 和 NOLINTEND 之间所有的 google 开头的警告
// NOLINTBEGIN(google*)
Foo(bool param);
// NOLINTEND(google*)
// 抑制 NOLINTBEGIN 和 NOLINTEND 之间所有的以 `-avoid-c-arrays` 结尾的警告
// NOLINTBEGIN(*-avoid-c-arrays)
int array[10];
// NOLINTEND(*-avoid-c-arrays)
};
Reference
https://clang.llvm.org/extra/clang-tidy/#suppressing-undesired-diagnostics
如何抑制特定 clang-tidy 警告的更多相关文章
- VS SuppressMessage忽略特定方法的警告信息
VS在编译源码的时候有很多警告信息,有些时候 我们需要忽略一个特定方法的特定警告信息,于是就用SuppressMessage特性,可是这个特性的参数不太好搞定,还好有VS,Suppressing Co ...
- iOS编程 手动忽略clang编译器警告
在iOS开发过程中, 我们可能会碰到一些系统方法弃用, weak.循环引用.不能运行之类的警告. 有代码洁癖的孩子们非常想消除他们, 今天就让我们来一次Fuck 警告.! 首先学会主要的语句 #pra ...
- 【转】clang warning 警告清单(备查,建议直接command + F 速查 )
Warning Message -WCFString-literal input conversion stopped due to an input byte that does not belon ...
- 转载 C#中敏捷开发规范
转载原地址 http://www.cnblogs.com/weixing/archive/2012/03/05/2380492.html 1.命名规则和风格 Naming Conventions an ...
- clang和gcc消除警告
1. clang命令,它的作用是用来消除特定区域的clang的编译警告,-Wgnu则是消除?:警告, 例: #pragma clang diagnostic push #pragma clang di ...
- @SuppressWarnings抑制警告
@SuppressWarnings(“XXXX”) 来抑制编译时的警告信息.参数如下: 关键字 用途 all to suppress all warnings boxing to suppress ...
- @SuppressWarning 抑制警告注解
@SuppressWarning 抑制警告注解 Java.lang.SuppressWarnings 是 J2SE5.0中标准的Annotation 之一. 可以标注在类,字段,方法,参数,构造方法, ...
- Java @SuppressWarnings:抑制编译器警告-4
Java 中的 @SuppressWarnings 注解指示被该注解修饰的程序元素(以及该程序元素中的所有子元素)取消显示指定的编译器警告,且会一直作用于该程序元素的所有子元素.例如,使用 @Supp ...
- 谈谈Objective-C的警告 (转)
原文地址:http://onevcat.com/2013/05/talk-about-warning/ 一个有节操的程序员会在乎自己的代码的警告,就像在乎饭碗边上有只死蟑螂那样. ——@onevcat ...
- Xcode关闭警告
对于关闭某个警告,如果需要全局关闭的话,直接在Other C Flags里写 -Wno-...就行了,比如 -Wextra -Wno-sign-compare 就是一个常见的组合.如果相对某几个文件开 ...
随机推荐
- 其它——paramiko模块的使用
文章目录 paramiko 一 介绍 二 通过用户名密码方式远程执行命令 三 通过用户名密码方式上传下载文件 四 通过公钥私钥远程执行命令 五 通过公钥私钥远程上传下载文件 六 通过私钥字符串远程连接 ...
- FFMPEG+SDL简单视频播放器——视频快进
之前写过一篇关于视频播放器的文章.播放器只简单实现了视频播放的功能,在此功能的基础上,给它加上一个视频快进的功能. 实现 添加参数 // video play control bool do_seek ...
- python-手机自动化环境部署
关于ui-automator,google的官方介绍: https://developer.android.google.cn/training/testing/ui-automator https: ...
- [AHOI2002] Kitty猫基因突变
我们不妨将所有权值打到一棵树上,这很容易想到. 考虑暴力,如果我们选择了 \(w\) 个点,修改后我们会从叶子节点依次合并去计算贡献. 很显然我们可以动态规划维护. \(f[p][w][0/1/2]\ ...
- Dotnet工具箱:开源、免费的纯前端工具网站,带你探索10大工具分类和73个实时在线小工具
1. 前言 大家好,我是沙漠尽头的狼. Dotnet工具箱是一个纯前端的.开源和免费的工具网站,周末我参考了开源项目it-tools,对网站界面文字进行了汉化,并重新部署了网站.该网站共有10大工具分 ...
- C++函数如何具有多个返回值?
本文介绍在C++语言中,使用一个函数,并返回两个及以上.同类型或不同类型的返回值的具体方法. 对于C++语言而言,其不能像Python等语言一样在一个函数中返回多个返回值:但是我们也会经常遇到 ...
- 错误记录-FileStream访问被拒绝
简介: 问题:因项目需要,软件需要读取授权文件中的密文与本机验证码做一定的逻辑比对,使用FileStream实现文件的读取,在本机调试没问题,但在其他同事电脑上有一些出现授权一直不通过的情况. --M ...
- [Python急救站课程]绘制蜡笔小新图案
可爱的蜡笔小新想要吗?画起来 import turtle as t '''设置''' t.setup(800, 500) # 创建画布并使其位于屏幕中心 t.pensize(2) # 画笔粗细 t.c ...
- 提高cin cout的速度
ios::sync_with_stdio(false) :用来关闭iostream与stdio的同步,从而提高 cin cout 的效率,但是就不能再用 scanf printf 了,因为不关闭之前 ...
- 【Android】实现连接SQLite并尝试进行增删改查