Giovanni Mascellani (@giomasce) commented about libs/vkd3d-shader/hlsl.y:
$$.else_block = list_to_block($3); }+loop_iterator:
expr_optional{struct hlsl_scope *scope = ctx->cur_scope;if ($1){list_move_tail(&scope->loop_iterator.instrs, $1);}}
I am not necessarily opposed to that, but wouldn't it be simpler to do this in `create_loop()`, without making the parser more complicated? I think that would be easier to read.