Module: Mesa
Branch: master
Commit: a789ca649cb143c0c5bf3209ff1bde398fbd777e
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=a789ca649cb143c0c5bf3209ff1bde398fbd777e

Author: Ian Romanick <ian.d.roman...@intel.com>
Date:   Wed Sep  1 14:08:08 2010 -0700

glsl2: Don't generate constructor functions for structures

---

 src/glsl/ast_to_hir.cpp        |    3 +--
 src/glsl/glsl_symbol_table.cpp |    2 +-
 2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/src/glsl/ast_to_hir.cpp b/src/glsl/ast_to_hir.cpp
index 84aa650..970ac08 100644
--- a/src/glsl/ast_to_hir.cpp
+++ b/src/glsl/ast_to_hir.cpp
@@ -2730,8 +2730,7 @@ ast_struct_specifier::hir(exec_list *instructions,
       glsl_type::get_record_instance(fields, decl_count, name);
 
    YYLTYPE loc = this->get_location();
-   ir_function *ctor = t->generate_constructor();
-   if (!state->symbols->add_type(name, t, ctor)) {
+   if (!state->symbols->add_type(name, t)) {
       _mesa_glsl_error(& loc, state, "struct `%s' previously defined", name);
    } else {
 
diff --git a/src/glsl/glsl_symbol_table.cpp b/src/glsl/glsl_symbol_table.cpp
index ed71244..c71f3f8 100644
--- a/src/glsl/glsl_symbol_table.cpp
+++ b/src/glsl/glsl_symbol_table.cpp
@@ -127,7 +127,7 @@ bool glsl_symbol_table::add_function(const char *name, 
ir_function *f)
    if (this->language_version == 110 && name_declared_this_scope(name)) {
       /* In 1.10, functions and variables have separate namespaces. */
       symbol_table_entry *existing = get_entry(name);
-      if (existing->f == NULL) {
+      if ((existing->f == NULL) && (existing->t == NULL)) {
         existing->f = f;
         return true;
       }

_______________________________________________
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to