[Mesa-dev] [RFC 3/3] glsl: raise warning when using uninitialized variables

Alejandro PiƱeiro apinheiro at igalia.com
Wed Feb 24 19:04:47 UTC 2016


Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94129
---
 src/compiler/glsl/ast_to_hir.cpp | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/compiler/glsl/ast_to_hir.cpp b/src/compiler/glsl/ast_to_hir.cpp
index ee5485c..296c845 100644
--- a/src/compiler/glsl/ast_to_hir.cpp
+++ b/src/compiler/glsl/ast_to_hir.cpp
@@ -1885,6 +1885,13 @@ ast_expression::do_hir(exec_list *instructions,
       if (var != NULL) {
          var->data.used = true;
          result = new(ctx) ir_dereference_variable(var);
+
+         if (var->data.mode == ir_var_auto
+             && !assignment_recipient
+             && result->variable_referenced()->data.assigned != true) {
+            _mesa_glsl_warning(& loc, state, "`%s' used uninitialized",
+                               this->primary_expression.identifier);
+         }
       } else {
          _mesa_glsl_error(& loc, state, "`%s' undeclared",
                           this->primary_expression.identifier);
-- 
2.5.0



More information about the mesa-dev mailing list