Page tree

Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.


Table of Contents


Resolved Issues

The following issues have been fixed in this release of the analyzer.

Internal IDCall IDSummaryNotes
CPP-273-Constructors and destructors are detected as "C++ Function" with name ending with "@ctor" and "@dtor" respectively

In case, if/when class definition is not found, constructors and destructors would be named as @ctor and @dtor respectively. Analyzer log will contain following message in this scenario: Definition for ‘<class name>’ not found. ‘@ctor\@dtor’ would be detected as 'C++ Function'.

CPP-287-Incorrect object detection when unresolved macro is used inside struct\class
CPP-298-False violation for lambda for "Avoid having a method call or additional expressions in a statement using "++" or "--" operators (C/C++)"
CPP-301-Missing violation for _tmain for "Ensure that there is at least one exception handler to catch-all otherwise unhandled exceptions in the main function(C++)"
CPP-303-False violation for _tmain for "Avoid using catch all"
CPP-304-False violations for QR "Avoid testing floating point numbers for equality"

New Rules

The following new rules have been added in this release of the analyzer:

Rule ID
Rule Name

CPP-175Avoid performing conversion from a function pointer to any other type (C/C++)

CPP-171Avoid casting and converting a pointer type to an integral type (C/C++)

CPP-243Avoid using 'enum' types as operands for arithmetic contexts

CPP-240Avoid having boolean operators with non-boolean operands (C/C++)

CPP-241Avoid having expressions with bool type to be used as operands on operators other than =, &&, ||, !, ==, !=, the unary & operator, and the conditional operator

CPP-307Avoid dynamic_cast to convert current object to its derived class from its constructor or destructor

CPP-239Avoid delete operators to exit with an exception.

CPP-308Avoid move constructor and move assignment operator to exit with an exception

CPP-242Avoid using C-style and functional notation casts (C++)


Handlers of a function-try-block implementation of a class constructor or destructor shall not reference non-static members from this class or its bases.


Resolved issues

The following issues have been fixed in this release of the analyzer.