Zebediah Figura (@zfigura) commented about libs/vkd3d-shader/hlsl.y:
}
loop_statement:
KW_WHILE '(' expr ')' statement
attribute_list_optional KW_WHILE '(' expr ')' statement {
$$ = create_loop(ctx, LOOP_WHILE, NULL, $3, NULL, $5, @1);
$$ = create_loop(ctx, LOOP_WHILE, &$1, NULL, $4, NULL, $6, &@1);
Sorry I didn't notice this the first time, but the location parameter isn't updated here.