summaryrefslogtreecommitdiff
path: root/giscanner/scannerparser.y
diff options
context:
space:
mode:
authorColin Walters <walters@src.gnome.org>2008-10-02 14:07:38 +0000
committerColin Walters <walters@src.gnome.org>2008-10-02 14:07:38 +0000
commitb8b1ab1162b492fcf5176678201ce191b740c3f8 (patch)
tree8ddaf13e9d4f1f41b1511f642b0b1c4e9cca3fce /giscanner/scannerparser.y
parent9d03f102950cfb1235db5efe81e399e7c14a30af (diff)
downloadgobject-introspection-b8b1ab1162b492fcf5176678201ce191b740c3f8.tar.gz
Merge branch 'bug552393-varargs'
svn path=/trunk/; revision=643
Diffstat (limited to 'giscanner/scannerparser.y')
-rw-r--r--giscanner/scannerparser.y16
1 files changed, 7 insertions, 9 deletions
diff --git a/giscanner/scannerparser.y b/giscanner/scannerparser.y
index dbde3223..53a30a31 100644
--- a/giscanner/scannerparser.y
+++ b/giscanner/scannerparser.y
@@ -100,7 +100,6 @@ static GHashTable *const_table = NULL;
%type <list> enumerator_list
%type <list> identifier_list
%type <list> init_declarator_list
-%type <list> parameter_type_list
%type <list> parameter_list
%type <list> struct_declaration
%type <list> struct_declaration_list
@@ -904,7 +903,7 @@ direct_declarator
$$ = $1;
gi_source_symbol_merge_type ($$, gi_source_array_new ());
}
- | direct_declarator '(' parameter_type_list ')'
+ | direct_declarator '(' parameter_list ')'
{
GISourceType *func = gi_source_function_new ();
// ignore (void) parameter list
@@ -958,11 +957,6 @@ type_qualifier_list
}
;
-parameter_type_list
- : parameter_list
- | parameter_list ',' ELLIPSIS
- ;
-
parameter_list
: parameter_declaration
{
@@ -990,6 +984,10 @@ parameter_declaration
$$ = gi_source_symbol_new (CSYMBOL_TYPE_INVALID);
$$->base_type = $1;
}
+ | ELLIPSIS
+ {
+ $$ = gi_source_symbol_new (CSYMBOL_TYPE_ELLIPSIS);
+ }
;
identifier_list
@@ -1057,7 +1055,7 @@ direct_abstract_declarator
$$ = gi_source_symbol_new (CSYMBOL_TYPE_INVALID);
gi_source_symbol_merge_type ($$, func);
}
- | '(' parameter_type_list ')'
+ | '(' parameter_list ')'
{
GISourceType *func = gi_source_function_new ();
// ignore (void) parameter list
@@ -1073,7 +1071,7 @@ direct_abstract_declarator
$$ = $1;
gi_source_symbol_merge_type ($$, func);
}
- | direct_abstract_declarator '(' parameter_type_list ')'
+ | direct_abstract_declarator '(' parameter_list ')'
{
GISourceType *func = gi_source_function_new ();
// ignore (void) parameter list