Francisco Casas : vkd3d-shader/hlsl: Add 'braces' flag to parse initializers.

Alexandre Julliard julliard at winehq.org
Thu Mar 31 15:01:44 CDT 2022


Module: vkd3d
Branch: master
Commit: 426c08eba4aefc0b3cae800c7e78c2a7b4306fb3
URL:    https://source.winehq.org/git/vkd3d.git/?a=commit;h=426c08eba4aefc0b3cae800c7e78c2a7b4306fb3

Author: Francisco Casas <fcasas at codeweavers.com>
Date:   Wed Mar 30 23:38:28 2022 +0200

vkd3d-shader/hlsl: Add 'braces' flag to parse initializers.

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>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 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
 




More information about the wine-cvs mailing list