翻譯|行業資訊|編輯:莫成敏|2019-11-01 11:51:12.850|閱讀 631 次
概述:PC-lint Plus是C和C ++的首選靜態分析工具。在PC-lint Plus v1.3版本中,修復了與返回的類對象的成員初始化有關的誤報等內容,內容較多,本文是上半部分內容~
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
PC-lint Plus是一種靜態分析工具,通過分析C和C ++源代碼來發現軟件中的缺陷。與編譯器一樣,PC-lint Plus會解析源代碼文件,執行語義分析,并構建一個抽象語法樹來表示程序。PC-lint Plus采用各種機制,包括數據流分析,數值跟蹤,讀寫分析,強類型檢查,功能語義驗證和許多其他技術,來提供對單個文件和整個項目強大而全面的分析。在新版本中,修復了修復了與返回的類對象的成員初始化有關的誤報等內容。
修復BUG:
PCLP-1806 修復與返回的類對象的成員初始化有關的誤報
修復了與函數返回的類對象的成員的初始化狀態有關的消息530的誤報實例。
PCLP-1835 內部錯誤A9BE308E(100829)與使用定義選項和預編譯的頭文件有關
修復了使用定義選項定義預編譯頭文件中使用的宏時可能遇到的內部錯誤。
PCLP-1972 誤報1762
PCLP-2612 消息1762(成員函數可以是常量)被錯誤地發出并且為通過一個成員變量的地址作為在通過函數指針進行的呼叫參數的成員函數。此問題已得到解決。
PCLP-2036 識別嵌套的switch語句無條件地轉移控制權導致了在封閉switch語句后語句的不可達性的情況
修復了在內部switch語句之后的情況下,最外層switch語句中消息616和825的誤報情況,該情況由于內部嵌套的switch語句無條件地轉移了控制,從而無條件地轉移了控制權。相反,如果在此類switch語句后出現無法訪問的代碼,則現在將發出消息527。
PCLP-2227 名稱處理錯誤,C ++模板參數中的C復合文字沒有類別
由于在C ++模板參數中使用C復合文字而無法將名稱修改應用于聲明的情況下,將不再發出消息號為0且沒有類別的錯誤。 現在將發出錯誤消息180。
PCLP-2459 False positive981,用于在C語言中強制轉換為_Bool
在C語言中,將類型為int的布爾運算符轉換為_Bool時,將不再報告消息981。
PCLP-2521 在C ++ 17模式下遵守冗余列表初始化
以A a {A {42,1984}}等方式初始化的結構;使用-std = c ++ 17時,將不再錯誤地報告為未初始化某些成員。
PCLP-2560 zero_err和+ zero_err選項支持的警告級別
-zero_err和+ zero_err被記錄為除了消息編號之外還支持帶有w前綴的警告級別參數,但是這些選項實際上并未接受該語法。 這些選項現在支持指定已記錄的警告級別。
PCLP-2598False positive1762,用于在成員表達式中調用非常量函數
當函數包含作為較大成員表達式一部分的對非const函數的調用時,有時會錯誤地發出誤報
1 struct S { int x; }; 2 3 struct A { 4 S f(void); 5 }; 6 7 class B : public A { 8 void g(void) { 9 f().x; 10 } 11 };
盡管它調用了非常量成員函數A :: f,但這將導致為B :: g發出1762。此問題已經修復了。
PCLP-2621不會報告靜態本地符號的問題522/714/729/759/765
消息522(未訪問外部變量)、714(未引用外部符號)、729(未顯式初始化外部變量)、759(可將符號的標頭聲明從標題移至模塊)和765(可將外部符號設為靜態) 旨在發布具有外部鏈接的符號。具有外部可見性但沒有外部鏈接的靜態局部符號(例如,內聯C ++函數中的靜態局部變量)有時會錯誤地引發這些消息。此問題已經修復了。
PCLP-2624 消息967并非總是在預期時發出
修復了消息967(頭文件沒有標準的包含保護)在預期時并非總是發出的錯誤。
PCLP-2626 消息1790應該考慮間接基類
現在,消息1790會考慮間接基類中的虛函數,而不僅僅是直接基類。正如消息標題中所反映的,要發出此消息,即時基必須仍然是公共的,但是私有虛擬函數(和私有間接基)將被考慮,因為它們仍然可以被覆蓋。
PCLP-2649 誤報527,switch語句主體內的控制結構中的跳轉語句
消息527將不再報告在某些情況下switch語句結束后的語句是不可訪問的,這是因為通過該交換機的唯一未將控制權轉移到下一條語句的路徑包含在if語句內的continue語句或goto語句,拋出或在for或while語句中返回。
交換機內goto的行為已更新,可以避免誤判,類似于在中斷或繼續時發生的誤報。
本文內容就是這樣了,希望文章內容對您有所幫助!后續小編將會更新“修復的bug”下半部分內容,敬請期待哦~感興趣的朋友可以下載PC-lint Plus最新版搶先體驗~
相關內容推薦:
C和C ++的靜態分析工具PC-lint Plus v1.3更新內容:新消息摘要
想要購買PC-lint Plus正版授權,或了解更多產品信息請點擊
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn