Module: Mesa
Branch: master
Commit: dca19a771156685895892740f687cee7cf84a8c9
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=dca19a771156685895892740f687cee7cf84a8c9

Author: Kenneth Graunke <[email protected]>
Date:   Tue Mar 13 14:59:42 2012 -0700

glsl: Explicitly NULL-check variables before making a dereference.

The constructor currently returns a ir_dereference_variable of error
type when provided NULL, but that's about to change in the next commit.

Signed-off-by: Kenneth Graunke <[email protected]>
Reviewed-by: Eric Anholt <[email protected]>

---

 src/glsl/ast_to_hir.cpp |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/glsl/ast_to_hir.cpp b/src/glsl/ast_to_hir.cpp
index 75d7e9d..ff56e33 100644
--- a/src/glsl/ast_to_hir.cpp
+++ b/src/glsl/ast_to_hir.cpp
@@ -1692,14 +1692,14 @@ ast_expression::hir(exec_list *instructions,
       ir_variable *var = 
         state->symbols->get_variable(this->primary_expression.identifier);
 
-      result = new(ctx) ir_dereference_variable(var);
-
       if (var != NULL) {
         var->used = true;
+        result = new(ctx) ir_dereference_variable(var);
       } else {
         _mesa_glsl_error(& loc, state, "`%s' undeclared",
                          this->primary_expression.identifier);
 
+        result = ir_call::get_error_instruction(ctx);
         error_emitted = true;
       }
       break;

_______________________________________________
mesa-commit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to