summaryrefslogtreecommitdiffstats
path: root/src/glsl/ast_to_hir.cpp
diff options
context:
space:
mode:
authorIan Romanick <ian.d.romanick@intel.com>2010-08-03 15:02:35 -0700
committerIan Romanick <ian.d.romanick@intel.com>2010-08-04 16:47:27 -0700
commit8e9ce2eb56a087c2544112700ae1abe3f96648dd (patch)
tree3917339b342ddc62417d33b27706e9669cc10ab5 /src/glsl/ast_to_hir.cpp
parent8dbdcb0b43c8749018ff62dd5751190e54fe2445 (diff)
glsl2: Don't try to construct an ir_assignment with an invalid LHS
Diffstat (limited to 'src/glsl/ast_to_hir.cpp')
-rw-r--r--src/glsl/ast_to_hir.cpp5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/glsl/ast_to_hir.cpp b/src/glsl/ast_to_hir.cpp
index b65a323a8d7..14c528075bb 100644
--- a/src/glsl/ast_to_hir.cpp
+++ b/src/glsl/ast_to_hir.cpp
@@ -555,9 +555,8 @@ do_assignment(exec_list *instructions, struct _mesa_glsl_parse_state *state,
NULL));
deref_var = new(ctx) ir_dereference_variable(var);
- instructions->push_tail(new(ctx) ir_assignment(lhs,
- deref_var,
- NULL));
+ if (!error_emitted)
+ instructions->push_tail(new(ctx) ir_assignment(lhs, deref_var, NULL));
return new(ctx) ir_dereference_variable(var);
}