首页 > 其他分享 >如何抑制特定 clang-tidy 警告

如何抑制特定 clang-tidy 警告

时间:2023-09-16 20:49:35浏览次数:39  
标签:google 抑制 int tidy clang param 警告 Foo

⚠️ clang-tidy 的规则能够帮助检查潜在的问题,不要盲目抑制警告!

可以通过添加 NOLINT, NOLINTNEXTLINE, 以及 NOLINTBEGINNOLINTEND 注释来抑制某些(或所有)clang-tidy 警告。

  • NOLINT 抑制同一行的警告
  • NOLINTNEXTLINE 抑制下一行的警告
  • NOLINTBEGINNOLINTEND 抑制多行警告
  • 上述 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

标签:google,抑制,int,tidy,clang,param,警告,Foo
From: https://www.cnblogs.com/tengzijian/p/17630423.html

相关文章

  • @Autowired注入属性idea警告
    1.@Autowired报错原因分析和4种解决方案!上图的报错信息相信大部分程序员都遇到过,奇怪的是虽然代码报错,但丝毫不影响程序的正常执行,也就是虽然编译器IDEA报错,但程序却能正常的执行,那这其中的原因又是为何?​报错原因分析报错的原因首先是因为IDEA强大的报警机制,@Autowi......
  • pytest运行警告问题解决:DeprecationWarning: pkg_resources is deprecated as an API
    前言最近在运行pytest的时候,经常出现这个警告DeprecationWarning:pkg_resourcesisdeprecatedasanAPISeehttps://setuptools.pypa.io/en/latest/pkg_resources.htmlfrompkg_resourcesimportiter_entry_points从警告上看是方法被弃用,肯定是因为新版弃用了旧版的语法。......
  • docker-compose 启动出现警告,关闭时出现错误
    docker-compose启动出现警告,关闭时出现错误WARNING:Foundorphancontainers(xxxxxx)forthisproject.Ifyouremovedorrenamedthisserviceinyourcomposefile,youcanrunthiscommandwiththe--remove-orphansflagtocleanitup原因是projectname命名......
  • clang-format配置教程
    title:"clang-format配置教程"date:2023-08-29T16:05:25+08:00tags:["clang"]categories:[]draft:false配置clang-formatQtCreator使用clang-format_利白的博客-CSDN博客Git如何将clang-formatting添加到预提交钩子|极客教程clang-format二进制文件下载:https://ll......
  • clang-format
    Language:Cpp BasedOnStyle:Chromium #访问说明符(public、private等)的偏移AccessModifierOffset:-4 #左括号(左圆括号、左尖括号、左方括号)后的对齐:Align,DontAlign,AlwaysBreak(总是在左括号后换行)AlignAfterOpenBracket:Align #连续赋值时,对齐所有......
  • # neovim为工作区添加本地clangd配置
    1背景尝试使用neovim开发stm32,使用clangd作为LSP提供代码补全等功能。2思路使用stm32cubeMX生成一个基于makefile的stm32工程。使用bear或compiledb基于makefile生成compile_commands.json文件。为clangd配置--query-driver选项,使其使用arm-none-eabi-gcc编译器。......
  • Clang参数中的-Xclang/-mllvm意义与Clang的Driver架构
    title:Clang参数中的-Xclang/-mllvm意义与Clang的Driver架构date:2023-08-1700:00:00updated:2023-08-1700:00:00lang:zh-CNcategories:-[LLVM]tags:-LLVM-编译toc:true文章首发于https://wwh1004.com/the-meaning-of-xclang-mllvm-in-clang-arguments-and-......
  • vue3 - 警告 `shallowRef` instead of `ref` - 解决
    完整警告[Vuewarn]:VuereceivedaComponentwhichwasmadeareactiveobject.Thiscanleadtounnecessaryperformanceoverhead,andshouldbeavoidedbymarkingthecomponentwith`markRaw`orusing`shallowRef`insteadof`ref`.这是因为参数内容有组件,......
  • FX110: 香港证监会就潜在的法律后果警告无牌虚拟资产交易平台
    香港证券及期货事务监察委员会(SFC)向无牌虚拟资产交易平台(VATP)发出警告。该监管机构对这些平台的“不当行为”表示担忧,并指出投资者应注意其中一些平台可能从未真正申请或获得过牌照。香港证监会就“潜在的法律和监管后果”对这些加密公司发出警告。该监管机构解释说,虽然一些交易所......
  • FX110网:香港证监会发声!警告无牌虚拟资产交易平台
    香港证券及期货事务监察委员会(SFC)向无牌虚拟资产交易平台(VATP)发出警告。该监管机构对这些平台的“不当行为”表示担忧,并指出投资者应注意其中一些平台可能从未真正申请或获得过牌照。香港证监会就“潜在的法律和监管后果”对这些加密公司发出警告。该监管机构解释说,虽然一些交易所......