Building the program below fails with "Internal error: Link failed". The issue seems to be caused by a mixture of using the array initializer and dynamic indexing.
A workaround is to use individual assignments to set the array elements.
__kernel void test(__global float* f) { float a[3]={-1,-1,-1}; int i=(f[0]<0); f[0]=a; }