On 02/26/2016 07:09 AM, Alejandro Piñeiro wrote: > v2: > * Take into account out varyings too (Timothy Arceri) > * Fix style (Timothy Arceri) > * Use a new ast_expression variable, instead of an > ast_expression::hir new parameter (Timothy Arceri) > > 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 49e4858..ac451df 100644 > --- a/src/compiler/glsl/ast_to_hir.cpp > +++ b/src/compiler/glsl/ast_to_hir.cpp > @@ -1899,6 +1899,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 || var->data.mode == > ir_var_shader_out) > + && !this->is_lhs > + && result->variable_referenced()->data.assigned != true) { > + _mesa_glsl_warning(&loc, state, "`%s' used uninitialized", > + this->primary_expression.identifier);
It seems like this might miss cases like void main() { int i; int a[2]; a[i] = 0; } > + } > } else { > _mesa_glsl_error(& loc, state, "`%s' undeclared", > this->primary_expression.identifier); > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev