Zebediah Figura (@zfigura) commented about libs/vkd3d-shader/hlsl.y:
| KW_CONTINUE ';' { struct hlsl_ir_node *jump;
struct hlsl_scope *scope;
if (!(scope = get_loop_scope(ctx->cur_scope)))
if (!is_continue_allowed(ctx->cur_scope)) { hlsl_error(ctx, &@1, VKD3D_SHADER_ERROR_HLSL_INVALID_SYNTAX, "The 'continue' statement must be used inside of a loop.");
It's a bit unfortunate that that's our error message for cases where we have a continue in a switch in a loop. Maybe we could put the hlsl_error() inside is_continue_allowed() instead? [and then rename it to something like check_continue()].