mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-16 22:20:29 +01:00
Generate errors for empty constructors instead of asserting
This causes the following tests to pass:
glslparsertest/glsl2/constructor-10.vert
This commit is contained in:
parent
3ed850e91c
commit
fa455fc2a5
1 changed files with 8 additions and 1 deletions
|
|
@ -513,7 +513,14 @@ ast_function_expression::hir(exec_list *instructions,
|
|||
|
||||
bool all_parameters_are_constant = true;
|
||||
|
||||
assert(!this->expressions.is_empty());
|
||||
/* This handles invalid constructor calls such as 'vec4 v = vec4();'
|
||||
*/
|
||||
if (this->expressions.is_empty()) {
|
||||
_mesa_glsl_error(& loc, state, "too few components to construct "
|
||||
"`%s'",
|
||||
constructor_type->name);
|
||||
return ir_call::get_error_instruction();
|
||||
}
|
||||
|
||||
foreach_list (n, &this->expressions) {
|
||||
ast_node *ast = exec_node_data(ast_node, n, link);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue