SonarQube C/C++/Objective-C 4.2 发布
欢迎加入运维网交流群:263444886SonarQube C/C++/Objective-C 4.2 发布了,这是一个C/C++/Objective-C的插件,用于检查代码质量。
这个版本提供了以下的新规则:
[*] “nonnull” pointers should not be set to null (C, Bug)
[*] “switch” statements should cover all cases (C++, C, Objective-C, Code Smell, suspicious)
[*] File names should comply with a naming convention (C++, C, Objective-C, Code Smell, cert, convention)
[*] GNU extensions should not be used (C++, C, Objective-C, Code Smell, lock-in, obsolete)
[*] Overriding virtual functions should be declared with “virtual” (C++, Code Smell, misra)
[*] Reference types should not be qualified with “const” or “volatile” (C++, Code Smell, cert, lock-in, unused)
[*] Unused function parameters should be removed (C++, Code Smell, cert, misra, unused)
[*] Virtual functions should not have default arguments (C++, Code Smell, api-design, cert, pitfall)
更新内容:
Bug
[*] - "nullptr" can be used as identifier in Microsoft Visual Studio <= 9.0
[*] - "_Complex" can be used as identifier in Microsoft Visual Studio
[*] - "inline" can be used as identifier in C with Microsoft Visual Studio <= 12.0
[*] - Fix ClassCastException in DynamicMemoryAllocationCheck
[*] - CFG: should properly handle expression compound statement
[*] - Grammar: should be possible to use more keywords as selectors in Objective-C
[*] - Preprocessor: fix handling of escape sequences in character literals
[*] - Grammar: add GNU old-style field designator extension
[*] - Rule: IdentifierLongerThan31 (S799) should raise issues only for declared identifiers
[*] - Fix broken link in description of S3576
[*] - Sema Objective-C: fix IllegalStateException
[*] - "_Bool" is not a keyword in C++
[*] - build-wrapper unix: should save and restore path only to its own library
[*] - build-wrapper unix: fix monitoring in case of use of empty string as value for DYLD_INSERT_LIBRARIES environment variable
改进
[*] - build-wrapper OS X: add support for "restricted" binaries (introduced in El Capitan as part of SIP)
[*] - build-wrapper unix: child processes should not see our library in LD_PRELOAD or DYLD_INSERT_LIBRARIES environment variables
[*] - Sema: add attribute "nonnull" information to symbols
[*] - Improve SingleDeclarationPerStatement (S1004) issue location
[*] - Fix false-positives in UnusedExpressionStatementCheck (S905)
[*] - Update S1749: "const" should be placed before type name but after "typedef"
[*] - Fix false-positives in TrailingCommentCheck (S139)
[*] - Fix false-negatives in S3698 and S1181
[*] - Add warning in case of usage of property "sonar.cfamily.predefinedMacros" or "sonar.cfamily.library.directories" together with "sonar.cfamily.build-wrapper-output"
[*] - Fix false-negatives in S1749
[*] - Rule type should be set explicitly
[*] - Fix false-positives in S1764
[*] - Fix false-positives in S1764: exclude "1 << 1"
[*] - SE: functions with "_Noreturn" specifier should stop execution
[*] - Support Clang precompiled header files produced with "-fmodule-format=obj"
新特性
[*] - Add mechanism for creation of reproducer of failure of analysis
[*] - Semantic Analysis: add a mechanism to calculate value of constant expression
[*] - C, C++ Rule: Unused function parameters should be removed
[*] - C++ Rule: Overriding virtual functions should be declared with "virtual"
[*] - Rule: "switch" statements should cover all cases
[*] - C rule: "nonnull" pointers should not be set to null
[*] - C++ Rule: Virtual functions should not have default arguments
[*] - Rule: GNU extensions should not be used
[*] - Import of coverage reports produced by llvm-cov
[*] - C++ Rule: Reference types should not be qualified with "const" or "volatile"
[*] - Rule: File names should comply with a naming convention
你可以通过升级中心进行升级
页:
[1]