From 03a5acec687454c7fe227b4bdd2db97d515f1af7 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Tapani=20P=C3=A4lli?= Date: Tue, 7 Aug 2018 08:20:29 +0300 Subject: [PATCH] glsl: handle error case with ast_post_inc, ast_post_dec MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Return ir_rvalue::error_value with ast_post_inc, ast_post_dec if parser error was emitted previously. This way process_array_size won't see bogus IR generated like with commit 9c676a64273. Signed-off-by: Tapani Pälli Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98699 Reviewed-by: Iago Toral Quiroga --- src/compiler/glsl/ast_to_hir.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/compiler/glsl/ast_to_hir.cpp b/src/compiler/glsl/ast_to_hir.cpp index 74160ec142b..5d3f10b6823 100644 --- a/src/compiler/glsl/ast_to_hir.cpp +++ b/src/compiler/glsl/ast_to_hir.cpp @@ -1928,6 +1928,11 @@ ast_expression::do_hir(exec_list *instructions, error_emitted = op[0]->type->is_error() || op[1]->type->is_error(); + if (error_emitted) { + result = ir_rvalue::error_value(ctx); + break; + } + type = arithmetic_result_type(op[0], op[1], false, state, & loc); ir_rvalue *temp_rhs; -- 2.30.2