如何摆脱 V677:标准类型警告的自定义声明
How to get rid of V677: custom declaration of a standard type warning
我们将 PVS Studio(开源项目的免费变体)与 travis-ci 结合使用,出于某种原因,它会为位于 /usr/local/clang-3.5.0/lib/clang/3.5.0/include
:
中的文件生成错误
/usr/local/clang-3.5.0/lib/clang/3.5.0/include/stddef.h:58:1: warning: V677 Custom declaration of a standard 'size_t' type. The declaration from system header files should be used instead.
/usr/local/clang-3.5.0/lib/clang/3.5.0/include/stddef.h:86:1: warning: V677 Custom declaration of a standard 'wchar_t' type. The declaration from system header files should be used instead.
/usr/local/clang-3.5.0/lib/clang/3.5.0/include/stdarg.h:30:1: warning: V677 Custom declaration of a standard 'va_list' type. The declaration from system header files should be used instead.
/usr/local/clang-3.5.0/lib/clang/3.5.0/include/stddef.h:47:1: warning: V677 Custom declaration of a standard 'ptrdiff_t' type. The declaration from system header files should be used instead.
这个位置看起来像是非标准编译器的“系统”头文件的示例,并且远离项目根目录(AFAIR 在 /home 中的某处:标准 travis 位置)。脚本 运行 使用来自 https://www.viva64.com/en/pvs-studio-download-linux/ 的最新版本,最新版本 运行 在“2017 年 7 月 3 日星期一 20:13:42 UTC 2017”(不幸的是,未保存使用过的版本)。
如果clang更新到clang-4.0,PVS似乎没有检测到错误。
如果编译器位于一些异常的地方,建议添加一个新的分析器异常路径,这样你在报告中只能看到自己项目代码的警告。
pvs-studio-analyzer analyze ... -e /path/to/exclude-path ...
或
pvs-studio ... --exclude-path /path/to/exclude-path ...
我们将 PVS Studio(开源项目的免费变体)与 travis-ci 结合使用,出于某种原因,它会为位于 /usr/local/clang-3.5.0/lib/clang/3.5.0/include
:
/usr/local/clang-3.5.0/lib/clang/3.5.0/include/stddef.h:58:1: warning: V677 Custom declaration of a standard 'size_t' type. The declaration from system header files should be used instead. /usr/local/clang-3.5.0/lib/clang/3.5.0/include/stddef.h:86:1: warning: V677 Custom declaration of a standard 'wchar_t' type. The declaration from system header files should be used instead. /usr/local/clang-3.5.0/lib/clang/3.5.0/include/stdarg.h:30:1: warning: V677 Custom declaration of a standard 'va_list' type. The declaration from system header files should be used instead. /usr/local/clang-3.5.0/lib/clang/3.5.0/include/stddef.h:47:1: warning: V677 Custom declaration of a standard 'ptrdiff_t' type. The declaration from system header files should be used instead.
这个位置看起来像是非标准编译器的“系统”头文件的示例,并且远离项目根目录(AFAIR 在 /home 中的某处:标准 travis 位置)。脚本 运行 使用来自 https://www.viva64.com/en/pvs-studio-download-linux/ 的最新版本,最新版本 运行 在“2017 年 7 月 3 日星期一 20:13:42 UTC 2017”(不幸的是,未保存使用过的版本)。
如果clang更新到clang-4.0,PVS似乎没有检测到错误。
如果编译器位于一些异常的地方,建议添加一个新的分析器异常路径,这样你在报告中只能看到自己项目代码的警告。
pvs-studio-analyzer analyze ... -e /path/to/exclude-path ...
或
pvs-studio ... --exclude-path /path/to/exclude-path ...