summaryrefslogtreecommitdiff
path: root/glsl_parser.ypp
AgeCommit message (Collapse)Author
2010-06-23ast_node: Add new talloc-based new()Carl Worth
And use the talloc-based new for all of the ast objects created by the parser. This closes a lot of memory leaks, and will allow us to use these ast objects as talloc parents in the future, (for things like exec_nodes, etc.). This closes 164 leaks in the glsl-orangebook-ch06-bump.frag test: total heap usage: 55,623 allocs, 14,553 frees (was 14,389 frees)
2010-06-09Only initialize types after #extension directives have been processed.Kenneth Graunke
Since _mesa_glsl_initialize_types add types for various extensions, we can't call it until after processing "#extension foo : disable" lines. Fixes tex_rect_02.frag.
2010-06-07Only allow global precision qualifier for int and floatIan Romanick
This causes the following tests to pass: glslparsertest/glsl2/precision-03.vert
2010-06-07Fix parsing of precision qualifiersIan Romanick
This causes the following tests to pass: glslparsertest/glsl2/precision-02.vert glslparsertest/glsl2/precision-04.vert glslparsertest/glsl2/precision-06.vert This causes the following test to fail. This shader was previously failing to compile, but it was failing for the wrong reasons. glslparsertest/glsl2/precision-03.vert
2010-06-07Generate an error on empty declaration listsIan Romanick
This causes an error for code such as 'float;'
2010-05-10Convert ast_node use of simple_node to exec_list and exec_nodeIan Romanick
2010-05-10Store AST function call parameters in expressionsIan Romanick
Previously the list of function call parameters was stored as a circular list in ast_expression::subexpressions[1]. They are now stored as a regular list in ast_expression::expressions.
2010-04-28Use IDENTIFIER instead of TYPE_NAME for structure namesIan Romanick
Since there is no track of which names are structure names during parsing, TYPE_NAME cannot be produced by the lexer. Use IDENTIFIER and let the AST processor sort it out.
2010-04-07Begin processing #extension directiveIan Romanick
Nowhere near complete. It just parses correctly at this point.
2010-03-31Set source locations on AST nodes so error messages print locations.Kenneth Graunke
I haven't verified that these are all correct, but it's still a lot better than not having anything. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
2010-03-29Add parser support for texture rectangle typesIan Romanick
2010-03-19Don't track new type names during pass-1 parsingIan Romanick
This implementation was wrong anyway because it did not respect scoping rules. This will need to be revisited soon. The most likely result is that the grammar is going to need some significant re-work to be able to use a IDENTIFIER in all the places where a TYPE_NAME is currently used.
2010-03-15Add new constructors for ast_type_specifierIan Romanick
Add a constructor that uses an ast_struct_specifier and one that uses a type name. This saves a (trivial) bit of code, but it also ensures some of the class invariants (i.e., type_name != NULL) are met.
2010-03-11Change type of function_identifier to silence bison warningIan Romanick
When the implementation of function_call_header and function_identifier were changed a few commits ago, the types of the production changed. This just updates the types specified for the productions to match reality.
2010-03-11Add parameters to function declarations in the correct orderIan Romanick
2010-03-10Differentiate in ast_function_expression between constructors and func. callsIan Romanick
2010-03-10Make ast_function_expression subclass of ast_expressionIan Romanick
2010-03-10Simplified constructor for identifier expressionsIan Romanick
2010-02-25autoconf for the ...Ian Romanick