typedef struct { float3 f; } A; typedef struct { bool b; int i; } B; B getB(bool v) { B h; h.b = v; return h; } void foobar(A a) { getB(a.f.x < 0.0f); } __kernel void marcling(__write_only image2d_t image) { A a; a.f = (float3){0.0f, 0.0f, 0.0f}; foobar(a); write_imagef(image, (int2){0, 0}, (float4){0.0f, 0.0f, 0.0f, 1.0f}); }