Giovanni Mascellani (@giomasce) commented about libs/vkd3d-shader/hlsl.y:
"Function \"%s\" is already defined.", decl->func->name); hlsl_note(ctx, &decl->loc, VKD3D_SHADER_LOG_ERROR, "\"%s\" was previously defined here.", decl->func->name); - hlsl_free_instr_list($2); + destroy_block($2); } else { size_t i;
decl->has_body = true; - list_move_tail(&decl->body.instrs, $2); + hlsl_block_add_block(&decl->body, $2); vkd3d_free($2);
I don't remember what's your position on this, but I would use `destroy_block()` to keep the abstraction. -- https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/258#note_37279