Giovanni Mascellani (@giomasce) commented about libs/vkd3d-shader/hlsl.y:
+ if (!hlsl_clone_block(ctx, &block, cond)) + return false; + if (!append_conditional_jump(ctx, &block, HLSL_IR_JUMP_CONTINUE)) + { + hlsl_block_cleanup(&block); + return false; + } + list_move_before(&instr->entry, &block.instrs); + list_remove(&instr->entry); + hlsl_free_instr(instr); + } + else if (type == LOOP_FOR) + { + if (!hlsl_clone_block(ctx, &block, iter)) + return false; + list_move_before(&instr->entry, &block.instrs); I wonder whether those `list_*()` calls should also be masked behind a layer of `hlsl_block_*()` helpers, but that doesn't need to happen in this MR.
-- https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/245#note_46779