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.