Zebediah Figura (@zfigura) commented about libs/vkd3d-shader/hlsl.y:
if (attribute_list_has_duplicates(attributes))
hlsl_error(ctx, &@1, VKD3D_SHADER_ERROR_HLSL_INVALID_SYNTAX, "Found duplicate attribute.");
if (!(instr = hlsl_new_if(ctx, condition, $5.then_block, $5.else_block, &@1)))
for (i = 0; i < attributes->count; ++i) {
destroy_block($5.then_block);
destroy_block($5.else_block);
const struct hlsl_attribute *attr = attributes->attrs[i];
if (!strcmp(attr->name, "branch")
|| !strcmp(attr->name, "flatten"))
{
hlsl_fixme(ctx, &@1, "Unhandled attribute '%s'.", attr->name);
}
Does this need to be a hlsl_fixme()? Do we know that these affect code semantics?