12 Apr
2023
12 Apr
'23
3:40 p.m.
Giovanni Mascellani (@giomasce) 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); + if (!($$ = create_loop(ctx, LOOP_WHILE, &$1, NULL, $4, NULL, $6, &@1))) + YYABORT;
I think there is the general sentiment that you should try to avoid aborting unless you really need. In this case it seems that you can just call `hlsl_error()` and return an empty list, so parsing can continue and other errors can be found in the same run. -- https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/150#note_29763