デフォルトでは、C/C++test は constexpr 関数にコード インストゥルメンテーションを適用しません。結果として、以下の制限があります。

この制約は、以下のケースにも適用されます。

C++ constexpr 関数のコード カバレッジを収集する

C/C++test はランタイムに実行された constexpr 関数のコード カバレッジを収集できます。コンパイル時にだけ使用される 'constexpr' 関数に対しては、カバレッジはレポートされません。

注意: 単体テスト ケースから呼び出される constexpr 関数はランタイムに実行されるため、コード カバレッジが収集されます。

constexpr 関数のコード カバレッジを有効化する

constexpr 関数のカバレッジ収集を有効にするには、次の操作を行います。

  1. テスト コンフィギュレーションを開き、[実行] > [全般] タブに移動します。
  2. [実行の詳細] で、[インストゥルメント モード] の [編集] ボタンをクリックします。
  3. [インストゥルメント機能] パネルで [詳細オプション] セクションの [constexpr 関数のカバレッジを有効化] オプションをオンにします。

サポート対象コンパイラ 

C++ の 'constexpr' 関数のコード カバレッジ収集は、以下のコンパイラだけでサポートされています。

この機能を利用するには、コンパイラが '__builtin_is_constant_evaluated()' ビルトイン関数を提供している必要があります。

コンパイラの使用に関して、次の既知の制限事項があります。