0

Xcode は、ディスパッチ キューに OpenCL カーネルを送信するためのコードを自動的に生成しますが、カーネルの 1 つに対してコンパイルできない無効なコードを生成するようです。問題は構造体定義にあります:

typedef struct {
    float4 position;    ///< The point position.
    float4 velocity;    ///< The point velocity.
    float intensity;    ///< The point intensity.
    int links[6];       ///< The point links specified as indexes for other points in the array.
    float align;        ///< Dummy for alignment.
} PointElement;

このコードは Xcode によって生成されます。

typedef struct  {
  cl_float4 position;
  cl_float4 velocity;
  cl_float intensity;
  int [6] links;
  cl_float align;
} _PointElement_unalign;

私はあいまいな C 構文の変種の専門家ではありませんが、それは確かにint [6] links;有効な C ではないため、コンパイルできません。

なぜXcodeはこれを行うのですか? 自分で何か間違ったことをしたのでしょうか、それともバグですか?

4

0 に答える 0