[Mesa-dev] [PATCH] glsl: Remove unreachable error message
Timothy Arceri
t_arceri at yahoo.com.au
Wed Dec 4 22:32:24 PST 2013
On Wed, 2013-12-04 at 14:32 -0800, Ian Romanick wrote:
> On 11/20/2013 03:41 AM, Timothy Arceri wrote:
> > Left over from bug #34376.
>
> I think this shader hits this error message:
>
> #version 120
>
> int x[];
>
> void foo() { x[3] = 2; }
>
> int x[] = int[2](1,2);
>
> do_assignment is also used for initializers. Initializers can be used
> to (explicitly) size arrays, and arrays declared without an explicit
> size can be redeclared with an explicit size.
Thanks Ian, mark this down as a newbie mistake I failed to recognise
this type of scenario would cause max_array_access to be set, although
its now obvious when I think about it.
I guess this is a good candidate for a piglit test to help spot
regressions with the ARB_arrays_of_arrays work. I've already submitted
one test for the same reason [1] would it be better to save a bunch of
these tests up and submit them as a series or is it fine to submit them
one by one?
[1]
http://lists.freedesktop.org/archives/piglit/2013-December/008657.html
>
> > Signed-off-by: Timothy Arceri <t_arceri at yahoo.com.au>
> > ---
> > src/glsl/ast_to_hir.cpp | 7 -------
> > 1 file changed, 7 deletions(-)
> >
> > diff --git a/src/glsl/ast_to_hir.cpp b/src/glsl/ast_to_hir.cpp
> > index 76b256c..adf10a0 100644
> > --- a/src/glsl/ast_to_hir.cpp
> > +++ b/src/glsl/ast_to_hir.cpp
> > @@ -813,13 +813,6 @@ do_assignment(exec_list *instructions, struct _mesa_glsl_parse_state *state,
> >
> > assert(var != NULL);
> >
> > - if (var->max_array_access >= unsigned(rhs->type->array_size())) {
> > - /* FINISHME: This should actually log the location of the RHS. */
> > - _mesa_glsl_error(& lhs_loc, state, "array size must be > %u due to "
> > - "previous access",
> > - var->max_array_access);
> > - }
> > -
> > var->type = glsl_type::get_array_instance(lhs->type->element_type(),
> > rhs->type->array_size());
> > d->type = var->type;
> >
>
More information about the mesa-dev
mailing list