half4 main(float2 coords) { half4 result = half4(0); // Two variables, both used for (half a = 0, b = 0; a < 10 && b < 10; ++a, ++b) { result.r += a; result.g += b; } // Two variables, one dead for (int c = 0, d = 0; c < 10; ++c) { result.b += 1; } // Three variables, all used, some array-typed for (float d[2] = float[2](0, 10), e[4] = float[4](1,2,3,4), f = 9; d[0] < d[1]; ++d[0]) { result.a = half(e[0] * f); } // Four variables, all dead for (half4 x, y, z, w;; ) break; // Just referencing a variable instead of declaring it--legal, if not meaningful. for (result;; ) break; return result; }