X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fglsl%2Fast_to_hir.cpp;h=43cf49745573a772d5d56d26ac6ac7b93fbf81a1;hb=3c9f0096c75315ea73d44ec17bc90c4d4c0d8f77;hp=01280478c95714033beff01708c5b8f462afded6;hpb=2bbcf19acad530d339ffe8e007fe2f6a244e1580;p=mesa.git diff --git a/src/glsl/ast_to_hir.cpp b/src/glsl/ast_to_hir.cpp index 01280478c95..43cf4974557 100644 --- a/src/glsl/ast_to_hir.cpp +++ b/src/glsl/ast_to_hir.cpp @@ -696,9 +696,15 @@ validate_assignment(struct _mesa_glsl_parse_state *state, * Note: Whole-array assignments are not permitted in GLSL 1.10, but this * is handled by ir_dereference::is_lvalue. */ - if (is_initializer && lhs_type->is_unsized_array() && rhs->type->is_array() + if (lhs_type->is_unsized_array() && rhs->type->is_array() && (lhs_type->element_type() == rhs->type->element_type())) { - return rhs; + if (is_initializer) { + return rhs; + } else { + _mesa_glsl_error(&loc, state, + "implicitly sized arrays cannot be assigned"); + return NULL; + } } /* Check for implicit conversion in GLSL 1.20 */