From 44bb1a62f9fa55a2f4febc87abcfb78386283c0e Mon Sep 17 00:00:00 2001 From: Ian Romanick Date: Wed, 24 Mar 2010 14:56:36 -0700 Subject: [PATCH] Allow duplicate symbols at the same scope that are in different name spaces --- symbol_table.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/symbol_table.c b/symbol_table.c index 5d748f45c7c..0f0df7a261b 100644 --- a/symbol_table.c +++ b/symbol_table.c @@ -347,10 +347,16 @@ _mesa_symbol_table_add_symbol(struct _mesa_symbol_table *table, check_symbol_table(table); - /* If the symbol already exists at this scope, it cannot be added to the - * table. + /* If the symbol already exists in this namespace at this scope, it cannot + * be added to the table. */ - if (hdr->symbols && (hdr->symbols->depth == table->depth)) + for (sym = hdr->symbols + ; (sym != NULL) && (sym->name_space != name_space) + ; sym = sym->next_with_same_name) { + /* empty */ + } + + if (sym && (sym->depth == table->depth)) return -1; sym = calloc(1, sizeof(*sym)); -- 2.30.2