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