[PATCH 5/5] d3dcompiler: Parse "for" loops with declarations.

Matteo Bruni mbruni at codeweavers.com
Fri Sep 21 09:25:59 CDT 2012


---
 dlls/d3dcompiler_43/hlsl.y |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/dlls/d3dcompiler_43/hlsl.y b/dlls/d3dcompiler_43/hlsl.y
index 11764e5..88689f7 100644
--- a/dlls/d3dcompiler_43/hlsl.y
+++ b/dlls/d3dcompiler_43/hlsl.y
@@ -1391,6 +1391,17 @@ loop_statement:           KW_WHILE '(' expr ')' statement
                                 $$ = create_loop(LOOP_FOR, $4, $5, $6, $8, &loc);
                                 pop_scope(&hlsl_ctx);
                             }
+                        | KW_FOR '(' scope_start declaration expr_statement expr_statement ')' statement
+                            {
+                                struct source_location loc;
+
+                                set_location(&loc, &@1);
+                                if (!$4)
+                                    hlsl_report_message(loc.file, loc.line, loc.col, HLSL_LEVEL_WARNING,
+                                            "no expressions in for loop initializer");
+                                $$ = create_loop(LOOP_FOR, $4, $5, $6, $8, &loc);
+                                pop_scope(&hlsl_ctx);
+                            }
 
 expr_statement:           ';'
                             {
-- 
1.7.8.6




More information about the wine-patches mailing list