Release Notes - 2.3


  • 2.3.4

    2.3.4
    Ensures result is independent of source file order.
  • 2.3.3

    2.3.3
    This is an LTS release: no code changes have been made.
  • 2.3.3-funcrel

    2.3.3-funcrel
    Correction of a complex parsing issue.
  • 2.3.2-funcrel

    2.3.2-funcrel
    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”. πŸ“ 28313
    Fixes an issue wherein a C/C++ Function defined by a macro was missing. πŸ“ 30898
    Fixes an analysis issue wherein the last execution ended in error on step “prepare_analysis_data”. πŸ“ 28525
    Fixes an error in TCC Configuration file.
    Fixes an issue wherein CAnalyzer2 was created in temporary folder when C++ Analyzer was launched.
    Fixes a wrong guid in uax file for class with macro in declaration.
  • 2.3.1-funcrel

    2.3.1-funcrel
    PB: CPP analysis failed with error: “exited with error code -1073741819”. πŸ“ 26612
    CPP analysis failed with error: “exited with error code -1073741819”. πŸ“ 26411
  • 2.3.0-funcrel

    2.3.0-funcrel
    For C/C++ rules, parameter ‘Number of violation occurrences’ is showing the function name in dashboard. πŸ“ 24883
    Macro objects missing when header file that contains macro definition is included in PCH
  • 2.3.0-beta1

    2.3.0-beta1
    An intermittent crash while parsing file with complex lables and goto statements have been fixed.
    Recent code change may have resulted in warnings about \CAST-System in log. This is now fixed.
    A performance issue while processing virtual links have been fixed.
    NEW Avoid using offsetof from <cstddef> πŸ’Ž 1065018
    NEW Avoid lines starting with “#” with invalid pre-processing directive πŸ’Ž 1065114
    NEW Undefined macro identifiers shall not be used in #if or #elif preprocessor directives, except as operands to the defined operator πŸ’Ž 1065116
    NEW Arguments to a function-like macro shall not contain tokens that look like preprocessing directives. πŸ’Ž 1065118
    NEW Avoid using # OR ## operators more than once while defining macros πŸ’Ž 1065120
    NEW Avoid #define or #undef macros anywhere other than global namespace πŸ’Ž 1065122
    NEW Avoid using ‘goto’ statement to jump into or out of blocks πŸ’Ž 1065124
    NEW Avoid using goto to jump backwards into a statement in the same function(C/C++) πŸ’Ž 1065126
    NEW Avoid having unused labels in your program (C/C++) πŸ’Ž 1065128
    NEW Avoid defining, redefining or undefining standard macros from standard library πŸ’Ž 1065130
    NEW Avoid using typeid in polymorphic class from the body of its constructor or destructor. πŸ’Ž 1065132
    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. πŸ’Ž 1065110
    C++ Analyzer would now have default TCCSetup file which would be automatically loaded in TCC.Transaction Entry\Exit point
  • 2.3.0-alpha1

    2.3.0-alpha1
    NEW Avoid checking Integer overflow without explicit cast πŸ’Ž 1065102
    NEW Converting a multiplication to a larger type should be done before the multiplication takes place πŸ’Ž 1065104
    NEW Avoid comparing types of different widths in a loop πŸ’Ž 1065106
    NEW Bit-fields shall be either unsigned integral, or enumeration (with underlying type of unsigned integral type) πŸ’Ž 1065108
    NEW Ensure arrays and containers are accessed using unsigned values πŸ’Ž 1065110