Release Notes - 2.3
2.3.3
Note
This is an LTS release: no code changes have been made.
2.3.3-funcrel
Other Updates
Details |
Correction of a complex parsing issue. |
2.3.2-funcrel
Resolved Issues
Customer Ticket Id |
Details |
28525 |
Fixes an analysis issue wherein the last execution ended in error on step “prepare_analysis_data”. |
30898 |
Fixes an issue wherein a C/C++ Function defined by a macro was missing. |
28313 |
Fixes false violation for the rule: “Ensure you provide a user-defined copy constructor or disable copy when a class allocates memory in its constructor”. |
Other Updates
Details |
Fixes a wrong guid in uax file for class with macro in declaration. |
Fixes an issue wherein CAnalyzer2 was created in temporary folder when C++ Analyzer was launched. |
Fixes an error in TCC Configuration file. |
2.3.1-funcrel
Resolved Issues
Customer Ticket Id |
Details |
26411 |
CPP analysis failed with error: “exited with error code -1073741819”. |
26612 |
PB: CPP analysis failed with error: “exited with error code -1073741819”. |
2.3.0-funcrel
Resolved Issues
Customer Ticket Id |
Details |
24883 |
For C/C++ rules, parameter ‘Number of violation occurrences’ is showing the function name in dashboard. |
Other Updates
Details |
Macro objects missing when header file that contains macro definition is included in PCH |
2.3.0-beta1
Other Updates
Details |
A performance issue while processing virtual links have been fixed. |
Recent code change may have resulted in warnings about \CAST-System in log. This is now fixed. |
An intermittent crash while parsing file with complex lables and goto statements have been fixed. |
Rules
Rule Id |
New Rule |
Details |
1065110 |
FALSE |
The rule “Ensure arrays and containers are accessed using unsigned values” has been disabled and is no longer available. This change could impact your existing grades when generating a new snapshot on existing unchanged source code. |
1065132 |
TRUE |
Avoid using typeid in polymorphic class from the body of its constructor or destructor. |
1065130 |
TRUE |
Avoid defining, redefining or undefining standard macros from standard library |
1065128 |
TRUE |
Avoid having unused labels in your program (C/C++) |
1065126 |
TRUE |
Avoid using goto to jump backwards into a statement in the same function(C/C++) |
1065124 |
TRUE |
Avoid using ‘goto’ statement to jump into or out of blocks |
1065122 |
TRUE |
Avoid #define or #undef macros anywhere other than global namespace |
1065120 |
TRUE |
Avoid using # OR ## operators more than once while defining macros |
1065118 |
TRUE |
Arguments to a function-like macro shall not contain tokens that look like preprocessing directives. |
1065116 |
TRUE |
Undefined macro identifiers shall not be used in #if or #elif preprocessor directives, except as operands to the defined operator |
1065114 |
TRUE |
Avoid lines starting with “#” with invalid pre-processing directive |
1065018 |
TRUE |
Avoid using offsetof from <cstddef> |
New Support
Summary |
Details |
Transaction Entry\Exit point |
C++ Analyzer would now have default TCCSetup file which would be automatically loaded in TCC. |
2.3.0-alpha1
Rules
Rule Id |
New Rule |
Details |
1065110 |
TRUE |
Ensure arrays and containers are accessed using unsigned values |
1065108 |
TRUE |
Bit-fields shall be either unsigned integral, or enumeration (with underlying type of unsigned integral type) |
1065106 |
TRUE |
Avoid comparing types of different widths in a loop |
1065104 |
TRUE |
Converting a multiplication to a larger type should be done before the multiplication takes place |
1065102 |
TRUE |
Avoid checking Integer overflow without explicit cast |