C和C++静态分析工具PC-lint Plus v1.3.5更新:已知问题

1.3.5版本对PC-lint Plus进行了许多改进。包括:更新了AUTOSAR,MISRA C和MISRA C++,新消息和标志选项,对Visual Studio配置生成器GUI的改进等。


已知问题

  • PCLP-2135 静态变量误 9003

仅在单个函数中引用的文件范围静态变量将不会在9003之前 告。消息将针对隐式或显式extern的变量发出。

  • PCLP-3196 一个函数,如果递归调用发生在对不同函数的递归调用下面的调用链中,可以间接地调用它自己,这个函数可以被标记为“调用递归”

在这种情况下,标记为“调用递归”的函数确实调用递归函数,但它本身也是递归的。堆栈分类系统通常将“递归”优先于“调用递归”。将函数标记为递归函数并将不同的递归函数称为“调用递归函数”,可以防止将标记为“调用递归函数”而不是“递归函数”的函数发出消息9070。

  • PCLP-3213 当显式CAST表达式用作非类型模板参数的模板参数时,误 隐式转换消息

当将cast表达式作为模板参数提供给非类型模板参数时,一些被描述为 告隐式转换的消息可能会被发布,就像cast操作数被隐式转换为cast类型一样。

  • PCLP-3221 False正值413用于条件评估指针的解除引用,在已知指针为空的for语句中的if语句的条件下,指针推断为逻辑和表达式右侧的非空

在这种情况下,可能会出现消息413的误 实例。这个问题独立于空值是否作为一个参数在特定的行中发生。

  • PCLP-3223 未实现无证+fil标志

将控制是否将缩进检查应用于标签的+fil标志没有实现。这个未实现的标志没有记录在标志选项列表中,但在第13.4节中提到了它。

  • PCLP-3242 条件运算符表达式,其中第二个和第三个操作数都是相同的枚举类型,而不是为了消息641的目的在C中导致该枚举类型的值

 例如,

 enum color { red, green, blue }; int f(int i, enum color x) {return (x == (i red : blue));       }will elicit warning 641: implicit conversion of enum ’color’ to integral type’unsigned int’return (x == (i red : blue));^

消息641的行为将在未来的版本中发生变化,将条件运算符表达式视为导致公共枚举类型的值,此时此消息将不会为本例发布。

  • PCLP-3260 消息440被禁用

消息440在当前版本中被禁用。

  • PCLP-3519 用布尔参数调用重载运算符的误 977

当将定义为参数的重载运算符调用到布尔类型的初始参数或与非布尔参数相邻的另一个布尔参数时,可能会出现误 977。所讨论的重载运算符可能是lambda表达式的闭包类型的调用运算符。

更多更新详情请查看后续更新内容详解

标签:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年6月4日
下一篇 2020年6月4日

相关推荐

发表回复

登录后才能评论