PC-lint Plus最新版
修复BUG:
-
PCLP-2663 误 9103涉及功能模板
消息9103将不再 告功能模板定义,也不再使用实例化作为对原始模板声明名称的重用。
-
PCLP-2668 消息882发出警告而不是提示信息
以前,消息882(应用于声明为不完整数组类型的参数的sizeof消息)被错误地 告为“警告”,而不是正确的“info”消息类别。此问题已得到纠正。
-
PCLP-2669 消息682和882的呈现问题
消息682(应用于大小数组参数的sizeof)和882(应用于不完整数组参数的sizeof)之前都是用“function”这个词在诊断中重复的,并且没有与涉及参数的函数相对应的正确符 参数。这些问题已得到纠正。
-
PCLP-2670 返回三元表达式时缺少条件返回推断
返回对三元表达式求值的结果将不再禁止针对封闭的if语句条件的推断。例如,在以前的版本中,如果在条件为指针为空的if语句内部直接返回三元表达式的结果,则稍后如果在if语句之后未认识到指针不能为null,则可能导致false positive。
-
PCLP-2838 某些标头包含在预编译的标头中时,断言失败或崩溃
解决了预编译标头(包括Visual Studio 2017头)中时,可能表现为断言失败或崩溃的问题。
-
PCLP-2740 消息2454在-etype中不能正常工作
-etype选项以前无法按预期与消息2454一起工作,此问题已得到纠正。
-
PCLP-2726 修复了用于冲突检测的功能参数的处理
当使用-idlen时,PC-lint Plus有时会错误地通过621错误地 告作用域内的函数参数与另一个标识符之间的名称冲突。另外,使用-idlen时,包含数千个函数声明的模块将遭受明显的性能损失。这些问题都已得到纠正。
-
PCLP-2742 使用空指针调用fflush时不发出警告
调用fflush时,PC-lint Plus先前发出418(将空指针传递给函数)将为空指针。这样做的行为是明确定义的,在这种情况下将不再发出此消息。
-
PCLP-2775 由-header、lint注释、-indirect和-d的嵌套使用触发的挂起或内部错误
通过将-d选项放置在配置文件中而导致的挂起或内部错误已得到纠正,该配置文件通过-header选项包含的标头中的lint注释中的-indirect选项包含在模块中。
-
PCLP-2778 误 与精度相关的消息,涉及非恒定偏移
当已知数量偏移了未知数量的位数时,涉及精度和诸如587之类的预定谓词消息的误 已得到纠正。
-
PCLP-2786 不要为跳过主体的功函数发出715
先前为具有定义但跳过其主体的函数发出了消息715(函数的命名参数,以后未引用)。跳过的函数体是PC-lint Plus不处理的函数体,当使用-skip_function选项或flf标志为OFF时在库区域中定义的函数时,可能会发生。在这种情况下,将不再发出消息715。
-
PCLP-2793 不要抱怨使用regparm属性
以前,当在函数声明中遇到regparm属性时,PC-lint Plus会发出错误4211(“regparm”在此平台上无效)。 PC-lint Plus将不再发出此消息。
-
PCLP-2795 正确处理语义规范中的perator
在-sem选项内部出现的语义表达式中,算符未正确处理。此问题已得到纠正。
-
PCLP-2806 包含匿名联合的类的误 1927
现在,出于消息1927的目的,将考虑对匿名联合的任何成员进行初始化,以初始化匿名联合本身。如果未初始化任何匿名成员,则消息1927仍然可以 告匿名联合。
-
PCLP-2818 错误值850,用于右值引用到索引变量
当由for变量创建的临时变量通过右值引用传递给函数时,将不再发出消息850。
-
PCLP-2844 更正了旧C编译器的imposter.c
将局部变量声明移至复合语句的开头,以支持旧的C编译器。
-
PCLP-2869 在Windows上重定向之前未刷新缓冲的输出流
现在,使用-oe和-os选项进行输出重定向将确保首先刷新所有缓冲的输出,以避免任何以前缓冲的输出写入Windows的新流中。
-
PCLP-2894 在Microsoft兼容模式下使用依赖返回值实例化类模板的成员函数时需要挂起,该依赖返回值用于在依赖调用程序中推导自动返回类型
Microsoft兼容模式使用+ fdt标志来启用延迟的模板解析。解决了一种情况,即立即同时需要模板实例化才能推断出返回类型,并且这种情况已延迟到模块结束(因为Microsoft兼容性导致挂起)。
-
PCLP-2897 pclp_config现在可以正确处理指定小写宏的选项
如果使用格式为-Dmacro或/ Dmacro的编译器选项定义了宏,然后通过pclp_config对其进行了转换以生成配置文件,则如果该宏名包含小写字母,则由pclp_config执行的转换将是不正确的。这可能会导致宏未在结果配置文件或格式错误的配置中正确定义,从而导致在尝试使用宏时出错。此问题已得到解决。
-
PCLP-2785 误 734(精度损失),导致转换结果的精度过高
现在,强制转换为可表示值范围较小的无符 类型将永久限制操作数的精度。以前,某些操作(例如“异或”或“揭示”操作数的原始精度)是可能的。
-
PCLP-2921 对于Windows构建,默认情况下fff标志现在为ON
该文档声称,在Windows内部版本中,默认情况下fff标志处于启用状态,但实际上并非如此。此问题已得到纠正,并且Windows版本的fff标志的默认值现在为ON。
-
PCLP-2925 au-misra3.lnt中的-append选项不正确
规则1.3的au-misra3.lnt中的-append选项引用了错误的消息 (2454,而不是64)。这已得到纠正。
-
PCLP-2959 消息1932包含正确的基类
消息1932(基类不是抽象的)以前将派生类 告为基类,此问题已得到纠正。
-
PCLP-2986 虚数字后缀的误 9106
使用后缀I或i时,PC-lint Plus先前 告的消息9106(小写字母后缀)的字符串参数为j。使用I将不再引发此消息,并且将以正确的字符串参数化引发该消息。
-
PCLP-2998 改进常量表达式的解析,该常量表达式的评估涉及副作用
确定其评估是否会导致副作用的表达式或依赖于其评估会导致副作用的另一个表达式是否可以作为C ++中的常量表达式的确定,已改进为始终符合所选语言标准。
-
PCLP-3016 将不兼容的指针类型消息从2450移动到2449
消息2450继续 告文件中原义的空字符的存在。不兼容类型警告已移至消息2449。
-
PCLP-3021 Visual Studio 2013和2015的32位和64位版本的基本配置之间的差异
用于支持Visual Studio标准库的_EMIT_VECTORCALL定义现在包含在Visual Studio 2013和2015的32位配置中。以前仅在64位版本中出现。
相关内容推荐:
C和C ++的静态分析工具PC-lint Plus v1.3更新内容:新消息摘要
C和C ++的静态分析工具PC-lint Plus v1.3更新内容:修复错误(上)
想要购买该产品正版授权,或了解更多产品信息请点击“咨询在线客服”

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