原創|產品更新|編輯:鄭恭琳|2020-07-03 16:25:32.223|閱讀 475 次
概述:1.3.5版本對PC-lint Plus進行了許多改進。包括:更新了AUTOSAR,MISRA C和MISRA C++,新消息和標志選項,對Visual Studio配置生成器GUI的改進等。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
功能改進
對于消息727、728、729和738,現在可以識別使用函數語法調用默認構造函數的顯式初始化。此外,如果打開新標志fde,那么消息727、728和738將考慮使用顯式聲明的默認構造函數進行隱式初始化,以構成顯式初始化。默認情況下,標志是關閉的。消息729的描述已經更新,以注意C++類的現有異常。
PC-lint Plus現在支持消息506。消息717已經從只覆蓋整數文字0擴展到還包括false以匹配消息716,它已經考慮了1和true。這兩條消息現在都包含文字,即使是在需要轉換的時候。
新消息9177(語句條件具有非布爾型)和9178(條件運算符的謂詞具有非布爾型)為MISRAC提供了改進的支持++規則5-0-13和5-0-14,其中消息909(隱式布爾轉換)以前用于提供部分支持。新消息現在也用于支持AUTOSAR A5-0-2和M5-0-14準則。
AUTOSAR規則A12-8-7現在得到新消息9185的支持(賦值操作符聲明沒有lvalue ref-qualifier)。
AUTOSAR規則A13-2-3現在由新消息9186(用于比較函數的非布爾返回類型)支持。
堆棧使用消息和堆棧使用報告以前可以以不同的順序列出函數,從一個運行到另一個運行,即使只使用一個線程。堆棧使用信息現在以確定性的順序呈現。
分析包含大量基于范圍的抑制的項目時的性能(例如--e(#))已經改進。
struct X { int array[10]; void f(X a, X b) { a = b; } X& operator=(const X&) = default; };
將導致消息545(獲取數組地址)以及用于實現復制分配運算符功能的幾個可選注釋。
顯式默認函數的內部實現不再受此分析的影響。
消息981(冗余鑄造)不再在模板實例化中發布。
消息1544的描述(由于運行時間初始化,變量的值不確定)已經被更新,以包括一個更好地闡明消息發布情況的示例。
MISRA C++解釋忽略了以前應用于常量變量的常量表達式基礎類型規則,該變量的值僅在豁免遞歸地應用于所有這些操作數時才依賴于多個操作數。如果所有其他操作數都是整數常量表達式,那么任何這樣的操作數都可以被豁免。
對消息1919的描述已經更新,以更清楚地闡明其目的。
消息1930的描述已經更新,以澄清沒有報告顯式轉換運算符。
消息894現在可以使用對應于特定步行描述的字符串參數和對應于特定步行調用的函數的符號參數來抑制。只有當調用者和callee的主體在同一個模塊內時,符號才可用。現在可以使用一個字符串參數來抑制消息897,該參數對應于實例化是一個“類”模板還是一個“函數”模板,一個字符串參數對應于在消息文本中出現的帶有模板參數的實例化名稱,以及與實例化的聲明相對應的符號參數。請注意,符號參數可以同時使用-esym和-etype來抑制。+paraminfo選項現在可以與兩個消息以及消息893一起使用(消息893已經將宏名作為字符串參數提供)。
對!e選項的描述現在注意到消息893、894和897不受直接單行抑制的影響。
補充消息890不再包含在消息列表中,因為它沒有被使用。
消息2662(指針上的指針算法可能不引用數組)已添加到支持MISRAC2012規則18.1的消息列表中,從而增強了對該規則的支持。
消息857(memcmp/memcpy/memmove函數中的參數不兼容)以前沒有發出,當時分析函數調用的前兩個參數中的一個或兩個參數都是經過數組以指針衰減的數組。這樣的調用現在是857的候選,并且將適當地分析不兼容的參數。
準則A5-2-2以前得到1924號電文的支持。現在,1954年的新消息使它得到了增強,該消息報告已失效。這兩個消息現在都由源類型和目標類型參數化。
消息9075的描述(外部符號在沒有事先聲明的情況下定義)以前暗示消息在只報告對象定義時同時報告對象和函數定義。消息的描述已經細化,消息957報告定義的功能,沒有原型在范圍內。
消息829(以前為報頭發出了一個+的報頭警告選項)以前只是在第一次發出指定的報頭是#include’d時發出的,當時報頭使用了一個#pragma once指令,或者受到報頭保護,并且fho標志選項處于活動狀態。如果頭的第一個包含出現在庫代碼中(其中此消息通常被抑制),那么隨后在非庫代碼中包含頭將不會被診斷。消息829現在為適當的標題發出,而不管是否存在#pragma once或頭保護。
消息9134的描述已被更新,以替換消息文本中使用預期未簽名的單詞的出現。
消息1798已添加到AUTOSARM3-1-2和MISRAC++規則3-1-2。消息9108在C++模塊中不再受限制。這兩條信息的描述已經澄清。
跟蹤靜態局部變量和全局變量,在調用函數時具有內置的特殊語義斷言功能已得到改進。
消息9234(移位量超過操作數的底層類型的大小),用于支持MISRAC2004規則12.8,現在報告了除了簡單的移位操作符之外涉及復合移位分配的違規行為。
更多更新詳情請查看后續更新內容詳解。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn