mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-09 06:48:06 +02:00
glsl: change variable declared assertion into conditional
The slang_variable::declared field originated as a debug field but
can be promoted for use during sematic error checking.
Fixes fd.o bug 27921.
NOTE: this is a candidate for back-porting to the 7.8 stable branch.
(cherry picked from commit a12614362a)
This commit is contained in:
parent
f7638f004d
commit
210b74c613
2 changed files with 2 additions and 3 deletions
|
|
@ -4187,11 +4187,10 @@ _slang_gen_variable(slang_assemble_ctx * A, slang_operation *oper)
|
|||
slang_atom name = oper->var ? oper->var->a_name : oper->a_id;
|
||||
slang_variable *var = _slang_variable_locate(oper->locals, name, GL_TRUE);
|
||||
slang_ir_node *n;
|
||||
if (!var) {
|
||||
if (!var || !var->declared) {
|
||||
slang_info_log_error(A->log, "undefined variable '%s'", (char *) name);
|
||||
return NULL;
|
||||
}
|
||||
assert(var->declared);
|
||||
n = new_var(A, var);
|
||||
return n;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ typedef struct slang_variable_
|
|||
GLuint size; /**< Variable's size in bytes */
|
||||
GLboolean is_global;
|
||||
GLboolean isTemp; /**< a named temporary (__resultTmp) */
|
||||
GLboolean declared; /**< for debug */
|
||||
GLboolean declared; /**< has the var been declared? */
|
||||
struct slang_ir_storage_ *store; /**< Storage for this var */
|
||||
} slang_variable;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue