1*c8dee2aaSAndroid Build Coastguard Workeruniform half4 colorGreen, colorRed; 2*c8dee2aaSAndroid Build Coastguard Worker 3*c8dee2aaSAndroid Build Coastguard Workerhalf4 main(float2 coords) { 4*c8dee2aaSAndroid Build Coastguard Worker // Two variables, both used. 5*c8dee2aaSAndroid Build Coastguard Worker half sumA = 0, sumB = 0; 6*c8dee2aaSAndroid Build Coastguard Worker for (half a = 0, b = 10; a < 10 && b > 0; ++a, --b) { 7*c8dee2aaSAndroid Build Coastguard Worker sumA += a; 8*c8dee2aaSAndroid Build Coastguard Worker sumB += b; 9*c8dee2aaSAndroid Build Coastguard Worker } 10*c8dee2aaSAndroid Build Coastguard Worker if (sumA != 45 || sumB != 55) { 11*c8dee2aaSAndroid Build Coastguard Worker return colorRed; 12*c8dee2aaSAndroid Build Coastguard Worker } 13*c8dee2aaSAndroid Build Coastguard Worker 14*c8dee2aaSAndroid Build Coastguard Worker // Two variables, one dead 15*c8dee2aaSAndroid Build Coastguard Worker int sumC = 0; 16*c8dee2aaSAndroid Build Coastguard Worker for (int c = 0, d = 0; c < 10; ++c) { 17*c8dee2aaSAndroid Build Coastguard Worker sumC += c; 18*c8dee2aaSAndroid Build Coastguard Worker } 19*c8dee2aaSAndroid Build Coastguard Worker if (sumC != 45) { 20*c8dee2aaSAndroid Build Coastguard Worker return colorRed; 21*c8dee2aaSAndroid Build Coastguard Worker } 22*c8dee2aaSAndroid Build Coastguard Worker 23*c8dee2aaSAndroid Build Coastguard Worker // Three variables, all used, some array-typed 24*c8dee2aaSAndroid Build Coastguard Worker float sumE = 0.0; 25*c8dee2aaSAndroid Build Coastguard Worker for (float d[2] = float[2](0, 10), e[4] = float[4](1,2,3,4), f = 0; d[0] < d[1]; ++d[0]) { 26*c8dee2aaSAndroid Build Coastguard Worker sumE += half(e[0]); 27*c8dee2aaSAndroid Build Coastguard Worker } 28*c8dee2aaSAndroid Build Coastguard Worker if (sumE != 10) { 29*c8dee2aaSAndroid Build Coastguard Worker return colorRed; 30*c8dee2aaSAndroid Build Coastguard Worker } 31*c8dee2aaSAndroid Build Coastguard Worker 32*c8dee2aaSAndroid Build Coastguard Worker // Four variables, all dead 33*c8dee2aaSAndroid Build Coastguard Worker for (half4 x, y, z, w;; ) break; 34*c8dee2aaSAndroid Build Coastguard Worker 35*c8dee2aaSAndroid Build Coastguard Worker // Just referencing a variable instead of declaring it--legal, if not meaningful. 36*c8dee2aaSAndroid Build Coastguard Worker for (sumA;; ) return colorGreen; 37*c8dee2aaSAndroid Build Coastguard Worker} 38