glsl: Use a single shared namespace in the symbol table.
authorKenneth Graunke <kenneth@whitecape.org>
Sun, 22 Aug 2010 03:23:18 +0000 (20:23 -0700)
committerIan Romanick <ian.d.romanick@intel.com>
Thu, 26 Aug 2010 16:19:48 +0000 (09:19 -0700)
commite9c7ceed27f6811ad1cae46c93ce9bc3fb3668d8
treee66302bca944353decf9b78291effb9cee7a4982
parent86ddb356e8278423ef41125be627e57e073471d1
glsl: Use a single shared namespace in the symbol table.

As of 1.20, variable names, function names, and structure type names all
share a single namespace, and should conflict with one another in the
same scope, or hide each other in nested scopes.

However, in 1.10, variables and functions can share the same name in the
same scope.  Structure types, however, conflict with/hide both.

Fixes piglit tests redeclaration-06.vert, redeclaration-11.vert,
redeclaration-19.vert, and struct-05.vert.
src/glsl/Makefile
src/glsl/ast_to_hir.cpp
src/glsl/builtin_function.cpp
src/glsl/builtins/tools/generate_builtins.py
src/glsl/glsl_parser.cpp
src/glsl/glsl_parser.h
src/glsl/glsl_parser.ypp
src/glsl/glsl_symbol_table.cpp [new file with mode: 0644]
src/glsl/glsl_symbol_table.h
src/glsl/glsl_types.cpp
src/glsl/glsl_types.h