EN JP CN

Path API バージョン 11.2 からの重大な変更内容

Path API バージョン 11.2 からの重大な変更内容

Path API は継続的に改善されています。残念ながら、これらの改善と既存のカスタム Path チェッカーとの後方互換性が必ずあるというわけではありません。次の表は、Path API for 11.2 における変更点と、カスタムチェッカーについて行う必要のある変更の説明を示しています。

API メンバー 変更内容 作業内容
kpa::constraint_getMaxValue (constraint_t cons, long int *a)この関数は 32 ビット符号付き整数のみを処理します。これは、符号付きおよび符号なし 64 ビット整数を処理できないため、非推奨になります。これは、関数 kpa::constraint_getMaxValue(constraint_t cons) で置換されます。戻り値は、現在、integer_t と呼ばれる新しいクラスになっています。この機能の詳細については 79 ページの Klocwork C/C++ Path Analysis API を参照してください。
kpa::constraint_getMinValue (constraint_t cons, long int *a)この関数は 32 ビット符号付き整数のみを処理します。これは、符号付きおよび符号なし 64 ビット整数を処理できないため、非推奨になります。これは、関数 kpa::constraint_getMinValue(constraint_t cons) で置換されます。戻り値は、現在、integer_t と呼ばれる新しいクラスになっています。この機能の詳細については 80 ページの Klocwork C/C++ Path Analysis API を参照してください。
kpa::constraint_getValue (constraint_t cons)この関数は 32 ビット符号付き整数のみを処理します。これは、符号付きおよび符号なし 64 ビット整数を処理できないため、非推奨になります。これは、関数 kpa::constraint_getEQValue(constraint_t cons) で置換されます。戻り値は、現在、integer_t と呼ばれる新しいクラスになっています。この機能の詳細については 78 ページの Klocwork C/C++ Path Analysis API を参照してください。
kpa::constraint_isEQ (constraint_t cons, long int *a)この関数は 32 ビット符号付き整数のみを処理します。これは、符号付きおよび符号なし 64 ビット整数を処理できないため、非推奨になります。これは、関数 kpa::constraint_getEQValue(constraint_t cons) で置換されます。戻り値は、現在、integer_t と呼ばれる新しいクラスになっています。この機能の詳細については 78 ページの Klocwork C/C++ Path Analysis API を参照してください。
kpa::constraint_isGE (constraint_t cons, long int *a)この関数は 32 ビット符号付き整数のみを処理します。これは、符号付きおよび符号なし 64 ビット整数を処理できないため、非推奨になります。これは、関数 kpa::constraint_getMinValue(constraint_t cons)(戻り値は現在、integer_t と呼ばれる新しいクラス)kpa::constraint_hasMaxValue(constraint_t cons)(戻り値はブール値)の組み合わせで置換されます。詳細については 80 ~ 81 ページの Klocwork C/C++ Path Analysis API を参照してください。
kpa::constraint_isInterval (constraint_t cons, long int *a, long int *b)この関数は 32 ビット符号付き整数のみを処理します。これは、符号付きおよび符号なし 64 ビット整数を処理できないため、非推奨になります。これは、関数 kpa::constraint_getMinValue(constraint_t cons)kpa::constraint_getMaxValue(constraint_t cons) の組み合わせで置換されます。戻り値は、現在、integer_t と呼ばれる新しいクラスになっています。詳細については 79 ~ 80 ページの Klocwork C/C++ Path Analysis API を参照してください。
kpa::constraint_isLE (constraint_t cons, long int *a)この関数は 32 ビット符号付き整数のみを処理します。これは、符号付きおよび符号なし 64 ビット整数を処理できないため、非推奨になります。これは、関数 kpa::constraint_hasMinValue(constraint_t cons)(戻り値はブール値)kpa::constraint_getMaxValue(constraint_t cons)(戻り値は現在、integer_t と呼ばれる新しいクラス)の組み合わせで置換されます。詳細については 79 ~ 81 ページの Klocwork C/C++ Path Analysis API を参照してください。
kpa::constraint_isNE (constraint_t cons, long int *a)この関数は 32 ビット符号付き整数のみを処理します。これは、符号付きおよび符号なし 64 ビット整数を処理できないため、非推奨になります。これは、関数 kpa::constraint_getNEValue(constraint_t cons) で置換されます。戻り値は、現在、integer_t と呼ばれる新しいクラスになっています。この機能の詳細については 80 ページの Klocwork C/C++ Path Analysis API を参照してください。
kpa::constraint_isValue (constraint_t cons)この関数は関数 constraint_isEQ() と一部重複するため、非推奨になります。これは、関数 kpa::constraint_getEQValue(constraint_t cons) で置換されます。戻り値は、現在、integer_t と呼ばれる新しいクラスになっています。この機能の詳細については 78 ページの Klocwork C/C++ Path Analysis API を参照してください。
kpa::expr_getIntegerConstantValue (expr_t expr, int *error_flag)この関数は、64ビット符号付き整数のみを処理し、64ビット符号なし整数を処理できないため、非推奨になります。これは、関数 kpa::expr_getIntegerConstantValue(expr_t expr) で置換されます。戻り値は、現在、integer_t と呼ばれる新しいクラスになっています。この機能の詳細については 62 ページの Klocwork C/C++ Path Analysis API を参照してください。

現在のところ非推奨関数を使用すると、コンパイラ警告が表示されます。2017 年以降にリリースされる Klocwork では、非推奨関数に対してコンパイラ警告ではなくコンパイラエラーを表示する予定です。パス API の C バージョンのサポートは 2017 年中頃までに完全に停止する予定です。したがって、非推奨関数を使用しているプログラムがある場合、サポートされている関数に置き換える作業をすぐに開始してください。詳細については Klocwork C/C++ Path API Reference(Klocwork C/C++ パス API リファレンス)を参照してください。