Add generate_temporary to generate an anonymous temporary
diff --git a/glsl_parser_extras.cpp b/glsl_parser_extras.cpp
index d57a68e..1ddc2ee 100644
--- a/glsl_parser_extras.cpp
+++ b/glsl_parser_extras.cpp
@@ -634,6 +634,7 @@
    make_empty_list(& state.translation_unit);
    state.symbols = new glsl_symbol_table;
    state.error = false;
+   state.temp_index = 0;
 
    _mesa_glsl_lexer_ctor(& state, shader, shader_len);
    _mesa_glsl_parse(& state);