From e8f5ebf313da3ce33ccbbcf9b72946853035fbdd Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 5 Nov 2010 06:08:45 -0700 Subject: [PATCH] glsl: Make the symbol table's add_function just use the function's name. --- src/glsl/ast_to_hir.cpp | 2 +- src/glsl/glsl_symbol_table.cpp | 8 ++++---- src/glsl/glsl_symbol_table.h | 2 +- src/glsl/ir_import_prototypes.cpp | 2 +- src/glsl/ir_reader.cpp | 2 +- src/glsl/linker.cpp | 2 +- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/glsl/ast_to_hir.cpp b/src/glsl/ast_to_hir.cpp index d615b30e7da..1f001273195 100644 --- a/src/glsl/ast_to_hir.cpp +++ b/src/glsl/ast_to_hir.cpp @@ -2495,7 +2495,7 @@ ast_function::hir(exec_list *instructions, } } else { f = new(ctx) ir_function(name); - if (!state->symbols->add_function(f->name, f)) { + if (!state->symbols->add_function(f)) { /* This function name shadows a non-function use of the same name. */ YYLTYPE loc = this->get_location(); diff --git a/src/glsl/glsl_symbol_table.cpp b/src/glsl/glsl_symbol_table.cpp index e9bf89b951d..3b384d875ae 100644 --- a/src/glsl/glsl_symbol_table.cpp +++ b/src/glsl/glsl_symbol_table.cpp @@ -121,18 +121,18 @@ bool glsl_symbol_table::add_type(const char *name, const glsl_type *t) return _mesa_symbol_table_add_symbol(table, -1, name, entry) == 0; } -bool glsl_symbol_table::add_function(const char *name, ir_function *f) +bool glsl_symbol_table::add_function(ir_function *f) { - if (this->language_version == 110 && name_declared_this_scope(name)) { + if (this->language_version == 110 && name_declared_this_scope(f->name)) { /* In 1.10, functions and variables have separate namespaces. */ - symbol_table_entry *existing = get_entry(name); + symbol_table_entry *existing = get_entry(f->name); if ((existing->f == NULL) && (existing->t == NULL)) { existing->f = f; return true; } } symbol_table_entry *entry = new(mem_ctx) symbol_table_entry(f); - return _mesa_symbol_table_add_symbol(table, -1, name, entry) == 0; + return _mesa_symbol_table_add_symbol(table, -1, f->name, entry) == 0; } ir_variable *glsl_symbol_table::get_variable(const char *name) diff --git a/src/glsl/glsl_symbol_table.h b/src/glsl/glsl_symbol_table.h index f26de524325..883c301e32d 100644 --- a/src/glsl/glsl_symbol_table.h +++ b/src/glsl/glsl_symbol_table.h @@ -99,7 +99,7 @@ public: /*@{*/ bool add_variable(const char *name, ir_variable *v); bool add_type(const char *name, const glsl_type *t); - bool add_function(const char *name, ir_function *f); + bool add_function(ir_function *f); /*@}*/ /** diff --git a/src/glsl/ir_import_prototypes.cpp b/src/glsl/ir_import_prototypes.cpp index 066137e60aa..2bdc8d9fd7d 100644 --- a/src/glsl/ir_import_prototypes.cpp +++ b/src/glsl/ir_import_prototypes.cpp @@ -64,7 +64,7 @@ public: /* Add the new function to the symbol table. */ - this->symbols->add_function(this->function->name, this->function); + this->symbols->add_function(this->function); } return visit_continue; } diff --git a/src/glsl/ir_reader.cpp b/src/glsl/ir_reader.cpp index 7a22a945ec5..446776c691d 100644 --- a/src/glsl/ir_reader.cpp +++ b/src/glsl/ir_reader.cpp @@ -221,7 +221,7 @@ read_function(_mesa_glsl_parse_state *st, s_list *list, bool skip_body) ir_function *f = st->symbols->get_function(name->value()); if (f == NULL) { f = new(ctx) ir_function(name->value()); - added = st->symbols->add_function(f->name, f); + added = st->symbols->add_function(f); assert(added); } diff --git a/src/glsl/linker.cpp b/src/glsl/linker.cpp index 616ec780071..7aa94064d68 100644 --- a/src/glsl/linker.cpp +++ b/src/glsl/linker.cpp @@ -546,7 +546,7 @@ populate_symbol_table(gl_shader *sh) ir_function *func; if ((func = inst->as_function()) != NULL) { - sh->symbols->add_function(func->name, func); + sh->symbols->add_function(func); } else if ((var = inst->as_variable()) != NULL) { sh->symbols->add_variable(var->name, var); } -- 2.30.2