[PATCH vkd3d v3 4/8] vkd3d-shader/hlsl: Add 'braces' flag to parse initializers.

Francisco Casas fcasas at codeweavers.com
Wed Mar 2 12:31:44 CST 2022


Signed-off-by: Francisco Casas <fcasas at codeweavers.com>

---
v3:
- New in v3.

Signed-off-by: Francisco Casas <fcasas at codeweavers.com>
---
 libs/vkd3d-shader/hlsl.y | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/libs/vkd3d-shader/hlsl.y b/libs/vkd3d-shader/hlsl.y
index 7678cf3c..6a59134e 100644
--- a/libs/vkd3d-shader/hlsl.y
+++ b/libs/vkd3d-shader/hlsl.y
@@ -48,6 +48,7 @@ struct parse_initializer
     struct hlsl_ir_node **args;
     unsigned int args_count;
     struct list *instrs;
+    bool braces;
 };
 
 struct parse_array_sizes
@@ -3114,14 +3115,17 @@ complex_initializer:
                 YYABORT;
             $$.args[0] = node_from_list($1);
             $$.instrs = $1;
+            $$.braces = false;
         }
     | '{' complex_initializer_list '}'
         {
             $$ = $2;
+            $$.braces = true;
         }
     | '{' complex_initializer_list ',' '}'
         {
             $$ = $2;
+            $$.braces = true;
         }
 
 complex_initializer_list:
@@ -3148,6 +3152,7 @@ initializer_expr_list:
                 YYABORT;
             $$.args[0] = node_from_list($1);
             $$.instrs = $1;
+            $$.braces = false;
         }
     | initializer_expr_list ',' initializer_expr
         {
@@ -3277,6 +3282,7 @@ func_arguments:
             $$.args_count = 0;
             if (!($$.instrs = make_empty_list(ctx)))
                 YYABORT;
+            $$.braces = false;
         }
     | initializer_expr_list
 
-- 
2.25.1




More information about the wine-devel mailing list