ブロック char16/32_t 型 (-no-uliterals)
char16_t または char32_t の Polyspace 定義の無効化
説明
解析では char16_t 型および char32_t 型を定義すべきではないことを指定します。
オプションの設定
以下のいずれかの方法を使用してオプションを設定します。
Polyspace® ユーザー インターフェイス (デスクトップ製品のみ): プロジェクト構成で [ターゲットおよびコンパイラ] ノードを選択してから、このオプションを選択します。最初に有効にしなければならない他のオプションについては、依存関係を参照してください。
コマンド ラインとオプション ファイル: オプション
-no-uliteralsを使用します。コマンド ライン情報を参照してください。
このオプションを使用する理由
コンパイラが char16_t および char32_t、またはいずれか一方を typedef ステートメントかインクルードを使用して定義している場合、このオプションを使用して、char16_t および char32_t の Polyspace の標準定義を使用しないようにします。
コンパイラがこれらの型を定義しているかどうかをチェックするには、以下のコードを C++ ファイルに保存し、通常使用するコンパイラ設定を使用して、このコードをコンパイルします。
typedef unsigned short char16_t; typedef unsigned long char32_t;
コンパイラ エラーの有無を確認します。
"C++ 組み込み型の再宣言"などのエラーによってファイルのコンパイルが失敗する場合、コンパイラはchar16_t型とchar32_t型を組み込み型として定義していることを意味します。この Polyspace オプションは、コンパイラの動作をエミュレートする場合に有効にします。ファイルがコンパイルされる場合、コンパイラはこれらの型をインクルードの
typedefステートメントで定義していることを意味します。これらのインクルードを既にプロジェクトに追加している場合は、この Polyspace オプションを有効にする必要はありません。
設定
オン解析は
char16_tとchar32_t型を許可しません。
オフ (既定の設定)解析は
char16_tとchar32_t型を許可します。
依存関係
このオプションは、次の両方の条件に該当する場合にのみ選択できます。
[ソース コードの言語] (-lang)を[CPP]または[C-CPP]に設定。[コンパイラ] (-compiler)を[generic]または[gnu]のバージョンに設定。
コマンド ライン情報
パラメーター: -no-uliterals |
| 既定値: オフ |
例 (Bug Finder): polyspace-bug-finder -lang cpp -compiler gnu4.7 -cpp-version cpp11 -no-uliterals |
例 (Code Prover): polyspace-code-prover -compiler gnu4.7 -lang cpp -cpp-version cpp11 -no-uliterals |
例 (Bug Finder Server): polyspace-bug-finder-server -lang cpp -compiler gnu4.7 -cpp-version cpp11 -no-uliterals |
例 (Code Prover Server): polyspace-code-prover-server -compiler gnu4.7 -lang cpp -cpp-version cpp11 -no-uliterals |