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

Matteo Bruni mbruni at codeweavers.com
Wed Mar 30 16:38:28 CDT 2022


From: Francisco Casas <fcasas at codeweavers.com>

Signed-off-by: Francisco Casas <fcasas at codeweavers.com>
Signed-off-by: Zebediah Figura <zfigura at codeweavers.com>
Signed-off-by: Giovanni Mascellani <gmascellani at codeweavers.com>
Signed-off-by: Matteo Bruni <mbruni 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 8f8b3c35..6fcacc67 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
@@ -3215,14 +3216,17 @@ complex_initializer:
             }
             $$.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:
@@ -3260,6 +3264,7 @@ initializer_expr_list:
             }
             $$.args[0] = node_from_list($1);
             $$.instrs = $1;
+            $$.braces = false;
         }
     | initializer_expr_list ',' initializer_expr
         {
@@ -3396,6 +3401,7 @@ func_arguments:
             $$.args_count = 0;
             if (!($$.instrs = make_empty_list(ctx)))
                 YYABORT;
+            $$.braces = false;
         }
     | initializer_expr_list
 
-- 
2.34.1




More information about the wine-devel mailing list