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.