aboutsummaryrefslogtreecommitdiffstats
path: root/cparser/pre_parser.mly
diff options
context:
space:
mode:
authorFrançois Pottier <francois.pottier@inria.fr>2015-10-07 13:26:38 +0200
committerFrançois Pottier <francois.pottier@inria.fr>2015-10-23 11:46:41 +0200
commit89e9eabc2fb752a6535cb375232d0141cc1f4fd3 (patch)
treee177c05a68d5ee4b1b21d2e3230f7362049880a6 /cparser/pre_parser.mly
parent431d01db20514292c75fa00f522a8b56d7150b03 (diff)
downloadcompcert-kvx-89e9eabc2fb752a6535cb375232d0141cc1f4fd3.tar.gz
compcert-kvx-89e9eabc2fb752a6535cb375232d0141cc1f4fd3.zip
Added a phantom parameter to [specifier_qualifier_list].
Diffstat (limited to 'cparser/pre_parser.mly')
-rw-r--r--cparser/pre_parser.mly7
1 files changed, 4 insertions, 3 deletions
diff --git a/cparser/pre_parser.mly b/cparser/pre_parser.mly
index df0244b7..1940aaa8 100644
--- a/cparser/pre_parser.mly
+++ b/cparser/pre_parser.mly
@@ -431,12 +431,13 @@ struct_declaration_list:
{}
struct_declaration:
-| specifier_qualifier_list struct_declarator_list? SEMICOLON
+| specifier_qualifier_list(struct_declaration) struct_declarator_list? SEMICOLON
{}
(* As in the standard, except it also encodes the constraint described
in the comment above [declaration_specifiers]. *)
-specifier_qualifier_list:
+(* The phantom parameter can be [struct_declaration] or [type_name]. *)
+specifier_qualifier_list(phantom):
| type_qualifier_list? TYPEDEF_NAME type_qualifier_list?
| type_qualifier_list? type_specifier_no_typedef_name specifier_qualifier_list_no_typedef_name?
{}
@@ -570,7 +571,7 @@ parameter_declaration:
{ None }
type_name:
-| specifier_qualifier_list abstract_declarator?
+| specifier_qualifier_list(type_name) abstract_declarator?
{}
abstract_declarator: