| // A continue inside a switch (where permitted) prevents fallthrough to the next case block, just |
| // like a break statement would. |
| |
| // Make sure that we properly dead-strip code following `continue` in a switch. |
| // This is particularly relevant because our inliner replaces return statements with continue. |
| |
| uniform half4 colorGreen, colorRed; |
| |
| half4 main(float2 coords) { |
| // A looping construct is required for continue. |
| float result = 0; |
| for (int x=0; x<=1; x++) { |
| @switch (2) { |
| case 1: result = abs(1); continue; |
| case 2: result = abs(2); continue; |
| case 3: result = abs(3); continue; |
| case 4: result = abs(4); continue; |
| } |
| } |
| |
| return result == 2 ? colorGreen : colorRed; |
| } |