C 以手臂为目标的叮当声检查

C 以手臂为目标的叮当声检查,c,arm,clang,static-analysis,clang-static-analyzer,C,Arm,Clang,Static Analysis,Clang Static Analyzer,我一直在尝试使用clang check进行静态代码分析。 我的makefile生成一个compile_commands.json,到目前为止,clangcheck在x86平台上运行良好,但是我也希望在arm平台上使用它。 其中一个条目如下所示: { "directory": "/path/to/myproject/src", "command": "arm-none-eabi-gcc -DBOARD_VERSION=3 -fmessage-length=0 -fsigned-

我一直在尝试使用clang check进行静态代码分析。 我的makefile生成一个compile_commands.json,到目前为止,clangcheck在x86平台上运行良好,但是我也希望在arm平台上使用它。 其中一个条目如下所示:

{
     "directory": "/path/to/myproject/src",
     "command": "arm-none-eabi-gcc -DBOARD_VERSION=3 -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -std=gnu11 -Wall -Werror -Os -DVERSION_MAJOR=2 -DVERSION_MINOR=4 -DVERSION_PATCH=2 -I/path/to/myproject/src -I/usr/arm-none-eabi/include -MMD -MP -MF/path/to/myproject/.build/debug/src/main.d -MT//path/to/myproject/.build/debug/src/main.o -c -o /path/to/myproject/.build/debug/src/main.o /path/to/myproject/src/main.c",
     "file": "/path/to/myproject/src/main.c"
},
对于arm,虽然它给了我一些通用错误,但它也给了我与x86类似的中断语法相关的错误:

错误:x86-64“中断”属性仅适用于 只有一个指针参数可以选择后跟一个整数 参数

我使用的clang check二进制文件是fedora发行版的一部分,但我想知道是否有办法让它在arm上也能正常工作


可能有些选项我找不到,或者可能我需要编译一个特定的叮当声检查,或者可能它对arm不起作用。在这种情况下,可能有其他选择。

但我发现使用:

scan-build --use-cc=$(CC) --analyzer-target=arm -o .build make clean all
使用clang analyzer也是不错的选择