DPCT1052#

メッセージ#

SYCL* は、volatile 修飾されたベクトルタイプのメンバーアクセスをサポートしていません。volatile 修飾子は削除されました。コードを書き換える必要があります。

詳細な説明#

SYCL* 仕様では、ベクトルタイプのメンバーアクセスの volatile 修飾子は提供されません。

修正方法の提案#

コードを確認して、調整してください。

例えば、以下のオリジナル CUDA* コードについて考えてみます。

1  struct Complex : cuFloatComplex { 
2    float real() const volatile { 
3    return x; 
4    } 
5  };

このコードは、以下の SYCL* コードに移行されます。

1  struct Complex : sycl::float2 { 
2    float real() const volatile { 
3    /* 
4    DPCT1052:0: SYCL does not support the member access for a volatile qualified 
5    vector type.The volatile qualifier was removed.You may need to rewrite the 
6    code.
7    */ 
8    return const_cast<struct Complex *>(this)->x(); 
9    } 
10 };

このコードは次のように書き換えられます。

1  struct Complex : sycl::float2 { 
2    float real() const volatile { 
3      return const_cast<struct Complex *>(this)->x(); 
4    } 
5  };

ヘルプが必要な場合は、SYCL* への移行フォーラム (英語) にアクセスしてください。