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.