diff options
author | Eric Anholt <eric@anholt.net> | 2010-06-30 11:51:54 -0700 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2010-06-30 11:52:40 -0700 |
commit | 0eda9ae0a6bcd6a7e014df046c87fac5caee0e9e (patch) | |
tree | 35262898ff20b7c1370be72e5fd083feaa99c9f4 | |
parent | 16b68b1952d0da14b9ce8306efa64988ce46b4b7 (diff) |
glsl2: Make function names and variable names be children of the node.
This avoids losing their memory when the parser state is freed.
-rw-r--r-- | src/glsl/ir.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/glsl/ir.cpp b/src/glsl/ir.cpp index 4eb0e9e33e..60ee36d17c 100644 --- a/src/glsl/ir.cpp +++ b/src/glsl/ir.cpp @@ -733,7 +733,7 @@ ir_variable::ir_variable(const struct glsl_type *type, const char *name) mode(ir_var_auto), interpolation(ir_var_smooth), array_lvalue(false) { this->type = type; - this->name = name; + this->name = talloc_strdup(this, name); this->location = -1; this->warn_extension = NULL; this->constant_value = NULL; @@ -820,9 +820,8 @@ ir_function_signature::replace_parameters(exec_list *new_params) ir_function::ir_function(const char *name) - : name(name) { - /* empty */ + this->name = talloc_strdup(this, name); } |