glsl2: Fix storing of dead memory in the symbol table.
decl->identifier is part of the AST, so it doesn't live very long. Instead, add var->name which is owned by var.
This commit is contained in:

committed by
Ian Romanick

parent
629198b96a
commit
c7f4ff193a
@@ -1851,7 +1851,7 @@ ast_declarator_list::hir(exec_list *instructions,
|
||||
"const declaration of `%s' must be initialized");
|
||||
}
|
||||
|
||||
/* Add the vairable to the symbol table after processing the initializer.
|
||||
/* Add the variable to the symbol table after processing the initializer.
|
||||
* This differs from most C-like languages, but it follows the GLSL
|
||||
* specification. From page 28 (page 34 of the PDF) of the GLSL 1.50
|
||||
* spec:
|
||||
@@ -1861,7 +1861,7 @@ ast_declarator_list::hir(exec_list *instructions,
|
||||
* being declared if not."
|
||||
*/
|
||||
const bool added_variable =
|
||||
state->symbols->add_variable(decl->identifier, var);
|
||||
state->symbols->add_variable(var->name, var);
|
||||
assert(added_variable);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user