glsl: Reject structure constructors that have too many arguments.

Fixes piglit test constructor-27.vert.
This commit is contained in:
Kenneth Graunke 2010-09-01 19:44:25 -07:00
parent e466b182bb
commit cfe0dd5622

View file

@ -1207,6 +1207,12 @@ ast_function_expression::hir(exec_list *instructions,
node = node->next;
}
if (!node->is_tail_sentinel()) {
_mesa_glsl_error(&loc, state, "too many parameters in constructor "
"for `%s'", type->name);
return ir_call::get_error_instruction(ctx);
}
ir_rvalue *const constant =
constant_record_constructor(type, &actual_parameters, state);