如何通过clang-tidy启用Clang静态分析器Alpha检查器并配置指定参数?
解决clang-tidy启用Alpha非确定性检查器的参数依赖问题
要在clang-tidy中设置Clang静态分析器的aggressive-binary-operation-simplification=true参数,不能用--extra-arg这类传给编译器的选项——这是分析器专属配置,需要通过clang-tidy的配置系统传递:
方法一:命令行直接指定配置
使用--config选项在命令行中嵌入分析器配置:
clang-tidy -allow-enabling-analyzer-alpha-checkers -checks=clang-analyzer-alpha.nondeterminism.* --config="{AnalyzerOptions: {aggressive-binary-operation-simplification: true}}" 你的源文件.cpp
方法二:使用.clang-tidy配置文件
如果需要重复使用该配置,在项目根目录创建.clang-tidy文件,添加以下内容:
AnalyzerOptions: aggressive-binary-operation-simplification: true
之后直接运行原命令即可:
clang-tidy -allow-enabling-analyzer-alpha-checkers -checks=clang-analyzer-alpha.nondeterminism.* 你的源文件.cpp
原理:clang-tidy的AnalyzerOptions配置块专门用于传递Clang静态分析器的参数,覆盖其默认值,以此满足Alpha非确定性检查器的依赖要求。
内容的提问来源于stack exchange,提问作者ginginsha
相关产品推荐
相关产品推荐

