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:
Kenneth Graunke
2010-06-30 11:57:43 -07:00
committed by Ian Romanick
parent 629198b96a
commit c7f4ff193a

View File

@@ -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);
}