summaryrefslogtreecommitdiff
path: root/glsl_parser.ypp
diff options
context:
space:
mode:
authorIan Romanick <ian.d.romanick@intel.com>2010-03-10 14:12:22 -0800
committerIan Romanick <ian.d.romanick@intel.com>2010-03-10 14:12:22 -0800
commit3821761e45c455374c9fdb4cd02104f420373360 (patch)
tree91ab3ac7676bbb21c78ddac6553a342d4fc36f0e /glsl_parser.ypp
parent986b8f798272d3ae2898617c8fb089156a5941c0 (diff)
Differentiate in ast_function_expression between constructors and func. calls
Diffstat (limited to 'glsl_parser.ypp')
-rw-r--r--glsl_parser.ypp11
1 files changed, 5 insertions, 6 deletions
diff --git a/glsl_parser.ypp b/glsl_parser.ypp
index 2f337b127c..058a03231d 100644
--- a/glsl_parser.ypp
+++ b/glsl_parser.ypp
@@ -337,23 +337,22 @@ function_call_header_with_parameters:
// recognized through "type_specifier".
function_call_header:
function_identifier '('
- {
- $$ = new ast_function_expression($1);
- }
;
function_identifier:
type_specifier
{
- $$ = (struct ast_node *) $1;
+ $$ = new ast_function_expression($1);
}
| IDENTIFIER
{
- $$ = new ast_expression($1);
+ ast_expression *callee = new ast_expression($1);
+ $$ = new ast_function_expression(callee);
}
| FIELD_SELECTION
{
- $$ = new ast_expression($1);
+ ast_expression *callee = new ast_expression($1);
+ $$ = new ast_function_expression(callee);
}
;