Build Notes (1108) - 30 Jun 2022
Architecture Designer
- Fix crash that occurred while creating an architecture
Interactive Reports
- Fix regression in specifying default values for checkbox_horiz and checkbox_vert options in Perl scripts.
Project
- Fix the File Sync that wasn't working in the Project Browser.
- Fix hang on project open when the option to sort tabs alphabetically is enabled.
Themes
- Understand-dark theme: Fix the coloring for all the slide bars (vertical and horizontal) to be more visible.
- Added dark mode to Metric Definitions.
- Fix the default editor color in light mode for ADA variables.
Tools
- Added option to disable audible alerts.
Language - C#
- Fixed bug where using alias with the same name as the used entity (e.g. 'using X = X') caused the parser to fail in looking up the used entity name.
Language - C++ (Strict)
- Add new entity and reference kinds for CUDA kernels.
- Add references to CUDA kernel call config arguments.
CodeCheck
- Fix failure to start CodeCheck analysis when Perl graph windows are open
CodeCheck Checks
- C and C++
- Constructors
- CPP_C055: Added new: Constructors that can be used with one argument should be declared explicit.
- Declarations and Definitions
- CPP_DD008: Added new: Nesting template class definitions should be avoided.
- CPP_DD009: Added new: Assignment operators should check for self-assignment.
- CPP_DD010: Added new: The use of friend classes should be avoided unless there is a legitimate basis in design.
- CPP_DD011: Added new: If the subscript operator (operator[]) is overloaded, both the const and non-const versions should be defined.
- CPP_DD012: Added new: Layering techniques, where applicable, should be used instead of private inheritance.
- Exception Handling
- CPP_EH003: Added new: Destructors should not throw exceptions
- CPP_EH004: Added new: Exceptions should be caught only by reference
- Functions
- CPP_F063: Added new: Member function arguments should not share the same name as class state variables.
- CPP_F064: Added new: Member functions should always be declared const unless they modify state variables.
- CPP_F065: Added new: Any parameter not modified by a method should be passed to the method as a const.
- Headers
- CPP_H019: Added new: Forward referencing should be used, when appropriate, over direct inclusion when documenting dependencies within a header file.
- Memory Allocation
- CPP_M014: Added new: The operator new should be called with the nothrow option when expecting NULL to be returned upon error, as some implementations of new throw an exception instead of returning NULL.
- CPP_M015: When overloading the new[] operator, a corresponding delete[] operator should be provided.
- CPP_M016: Added new: Overloaded new operator should not hide the global new operator.
- CPP_M017: Added new: All local allocations made in a method, other than the destructor, should be deallocated prior to exiting the method.
- Pointers
- CPP_P054: Added new: References should be used instead of pointers when possible.
- CPP_P057: Added new: A pointer to dynamic memory that is declared and allocated locally to a function or method should be declared as an auto_ptr. An auto_ptr
- Styling
- CPP_ST032: CPP_ST032 check for standard intentation
- Variables
- CPP_V036: Added new: Static data member initialization should be placed in the class .cpp file.
- CPP_V037: Added new: Initializer lists should be used to initialize member variables over direct assignment.
- CPP_V038: Added new: The concept of information hiding, also known as data encapsulation, should be implemented by ensuring that C++ classes have no public attributes. Rather, C++ classes should have access methods if direct manipulation of attributes is desired.
- CPP_V039: Added new: Within an object, most instance variables should be accessed directly. Methods should be used to set variables whose values are determined by an algorithm.
- CPP_V040: CPP_V040 check that local variables do not shadow outer variables within the scope of the function
- Constructors
- Warnings
- CPP_W006 Added new: integer overflow
- CPP_W007 Added new: integer to void pointer cast
- CPP_W008 Added new: void pointer to int cast clang warnings to code check.
- CPP_W009 Added new: zero-length-bounds
- CPP-W010 Added new: clang warning incompatible pointer types
- Java
- JAVA_06: Add check "Package names shall be in all lowercase alphabetic characters and integers"
- JAVA_07: Add check "If multiple classes are imported, the list shall be imported alphabetically"
- JAVA_08: Add check "Each package group shall be separated with a newline"
- JAVA_09: Add check "Each Java class shall be assigned to a named package"
- JAVA_10: Add check "Use package names instead of prefixes on class identifiers"