Start here

Home
About Klocwork
What's new
Fixed issues
Release notes
Installation

Reference

C/C++ checkers
Java checkers
C# checkers
MISRA C 2004 checkers
MISRA C++ 2008 checkers
MISRA C 2012 checkers
MISRA C 2012 checkers with Amendment 1
Commands
Metrics
Troubleshooting
Reference

Product components

C/C++ Integration build analysis
Java Integration build analysis
Desktop analysis
Refactoring
Klocwork Static Code Analysis
Klocwork Code Review
Structure101
Tuning
Custom checkers

Coding environments

Visual Studio
Eclipse for C/C++
Eclipse for Java
IntelliJ IDEA
Other

Administration

Project configuration
Build configuration
Administration
Analysis performance
Server performance
Security/permissions
Licensing
Klocwork Static Code Analysis Web API
Klocwork Code Review Web API

Community

View help online
Visit RogueWave.com
Klocwork Support
Rogue Wave Videos

Legal

Legal information

Important changes to the Path API in version 11.2

We're constantly improving the Path API. Unfortunately, sometimes these improvements are not always backwards compatible with your existing custom Path checkers. The following table describes the changes we've made to the Path API for 11.2 as well as a description of the changes that you should make to your own custom checkers:

API Member What changed What you need to do...
kpa::constraint_getMaxValue (constraint_t cons, long int *a) This function only deals with 32-bit signed integers. It cannot handle both signed and unsigned 64-bit integers, therefore it is deprecated. It is replaced by the function kpa::constraint_getMaxValue(constraint_t cons). The return value is now a new class called integer_t. For more information about this function, see page 79 of our Klocwork C/C++ Path Analysis API.
kpa::constraint_getMinValue (constraint_t cons, long int *a) This function only deals with 32-bit signed integers. It cannot handle both signed and unsigned 64-bit integers, therefore it is deprecated. It is replaced by the function kpa::constraint_getMinValue(constraint_t cons). The return value is now a new class called integer_t. For more information about this function, see page 80 of our Klocwork C/C++ Path Analysis API.
kpa::constraint_getValue (constraint_t cons) This function only deals with 32-bit signed integers. It cannot handle both signed and unsigned 64-bit integers, therefore it is deprecated. It is replaced by the function kpa::constraint_getEQValue(constraint_t cons). The return value is now a new class called integer_t. For more information about this function, see page 78 of our Klocwork C/C++ Path Analysis API.
kpa::constraint_isEQ (constraint_t cons, long int *a) This function only deals with 32-bit signed integers. It cannot handle both signed and unsigned 64-bit integers, therefore it is deprecated. It is replaced by the function kpa::constraint_getEQValue(constraint_t cons). The return value is now a new class called integer_t. For more information about this function, see page 78 of our Klocwork C/C++ Path Analysis API.
kpa::constraint_isGE (constraint_t cons, long int *a) This function only deals with 32-bit signed integers. It cannot handle both signed and unsigned 64-bit integers, therefore it is deprecated. It is replaced by a combination of the functions kpa::constraint_getMinValue(constraint_t cons) (The return value is now a new class called integer_t) and kpa::constraint_hasMaxValue(constraint_t cons) (The return value is a boolean). For more information about this function, see pages 80-81 of our Klocwork C/C++ Path Analysis API.
kpa::constraint_isInterval (constraint_t cons, long int *a, long int *b) This function only deals with 32-bit signed integers. It cannot handle both signed and unsigned 64-bit integers, therefore it is deprecated. It is replaced by a combination of the functions kpa::constraint_getMinValue(constraint_t cons) and kpa::constraint_getMaxValue(constraint_t cons). The return values are now a new class called integer_t. For more information about this function, see pages 79-80 of our Klocwork C/C++ Path Analysis API.
kpa::constraint_isLE (constraint_t cons, long int *a) This function only deals with 32-bit signed integers. It cannot handle both signed and unsigned 64-bit integers, therefore it is deprecated. It is replaced by a combination of the functions kpa::constraint_hasMinValue(constraint_t cons) (The return value is a boolean) and kpa::constraint_getMaxValue(constraint_t cons) (The return value is now a new class called integer_t). For more information about this function, see pages 79-81 of our Klocwork C/C++ Path Analysis API.
kpa::constraint_isNE (constraint_t cons, long int *a) This function only deals with 32-bit signed integers. It cannot handle both signed and unsigned 64-bit integers, therefore it is deprecated. It is replaced by the function kpa::constraint_getNEValue(constraint_t cons). The return value is now a new class called integer_t. For more information about this function, see page 80 of our Klocwork C/C++ Path Analysis API.
kpa::constraint_isValue (constraint_t cons) This function is partially duplicated by the function constraint_isEQ(), therefore it is deprecated. It is replaced by the function kpa::constraint_getEQValue(constraint_t cons). The return value is now a new class called integer_t. For more information about this function, see page 78 of our Klocwork C/C++ Path Analysis API.
kpa::expr_getIntegerConstantValue (expr_t expr, int *error_flag) This function only deals with 64-bit signed integers and cannot handle unsigned 64-bit integers, therefore it is deprecated. It is replaced by the function kpa::expr_getIntegerConstantValue(expr_t expr). The return value is now a new class called integer_t. For more information about this function, see page 62 of our Klocwork C/C++ Path Analysis API.

Currently, the use of deprecated functions causes compiler warnings to be generated. At the beginning of 2017, a future release of Klocwork will generate compiler errors instead of compiler warnings. We plan to fully retire the C version of the Path API by mid-2017, so if you're using deprecated functions, we recommend you start working on migrating to supported functions now. For more information, see the Klocwork C/C++ Path API Reference.