Add ast_function::hir
ast_function::hir consists of bits pulled out of
ast_function_definition::hir. In fact, the later uses the former to
do a lot of its processing. Several class private data fields were
added to ast_function to facilitate communicate between the two.
This causes the following tests to pass:
glslparsertest/shaders/CorrectModule.frag
This causes the following tests to fail. These shaders were
previously failing to compile, but they were all failing for the wrong
reasons.
glslparsertest/shaders/function9.frag
glslparsertest/shaders/function10.frag
diff --git a/glsl_parser_extras.cpp b/glsl_parser_extras.cpp
index 1ddc2ee..265782e 100644
--- a/glsl_parser_extras.cpp
+++ b/glsl_parser_extras.cpp
@@ -327,6 +327,7 @@
ast_function::ast_function(void)
+ : is_definition(false), signature(NULL)
{
make_empty_list(& parameters);
}