Revert "glsl2: Put the declaration in the instruction stream before its initializer."
authorIan Romanick <ian.d.romanick@intel.com>
Wed, 7 Jul 2010 18:57:16 +0000 (11:57 -0700)
committerIan Romanick <ian.d.romanick@intel.com>
Wed, 7 Jul 2010 19:41:26 +0000 (12:41 -0700)
This change causes segfaults in other tests.  A fix for both sets of
segfaults is coming.

This reverts commit d4d630b72c7b7f38074addda0f1b819608247d93.

src/glsl/ast_to_hir.cpp

index 3de754fa818064b8096b896a5ae1e8883cf7070a..f5e93b025472b354ae155a0752e3e0c6d9b122ee 100644 (file)
@@ -1772,8 +1772,6 @@ ast_declarator_list::hir(exec_list *instructions,
         }
       }
 
-      instructions->push_tail(var);
-
       if (decl->initializer != NULL) {
         YYLTYPE initializer_loc = decl->initializer->get_location();
 
@@ -1920,6 +1918,8 @@ ast_declarator_list::hir(exec_list *instructions,
                          decl->identifier);
       }
 
+      instructions->push_tail(var);
+
       /* Add the variable to the symbol table after processing the initializer.
        * This differs from most C-like languages, but it follows the GLSL
        * specification.  From page 28 (page 34 of the PDF) of the GLSL 1.50