我正在运行一个基于tricore-gcc
编译器的嵌入式C
项目。我创建了一个运行良好的compile_commands.json
文件。但是,有一些clang-tidy
无法识别的参数。例如,我得到了以下内容
error: unknown argument: '-fstrict-volatile-bitfields' [clang-diagnostic-error]
当然,这并不奇怪,因为-fstrict-volatile-bitfields
是gcc
的选项,而不是clang-tidy
的选项。
但是,由于未知的编译器选项,我希望抑制输出消息。
我尝试按照here的建议附加--extra-arg=-Wno-unknown-warning-option
,但问题仍然存在。
1条答案
按热度按时间rxztt3cl1#
我在使用
clang-tidy
编译一个GCC项目时遇到了同样的问题。两个编译器有不同的识别标志集。我的compile_commands.json
是由intercept-build生成的,它包含了许多clang-tidy不理解的GCC使用的选项。我通过一个有点笨拙的解决方案解决了这个问题,即在启动静态分析之前编辑编译数据库。
我的脚本包含许多类似于以下内容的Sed行:
这样,不支持的标志对于clang-tidy来说是不可见的,这使得可以无错误地工作。