printf拡張機能が有効になっているATIカードでOpenCLを使用しています。変数を出力する関数を作成しました。
void printVar(constant char* name, float var)
{
printf("%s: %f\r\n", name, var);
}
このコードは、プレーンCとしてコンパイルすると期待どおりに機能しますが、OpenCLで呼び出した場合
printVar("foo", 0.123);
結果は常に、「foo:0.123」ではなく、ランダムな文字の後に0.123が続きます。コンパイラにchar*文字列の認識に問題があると思いますが、関数を機能させるための回避策または修正はありますか?