From cea554e0496e50824def3d9e6c6b863f2c3193c2 Mon Sep 17 00:00:00 2001 From: Zack Weinberg Date: Wed, 5 Jun 2002 00:08:00 +0000 Subject: [PATCH] * gengtype-yacc.y: Make sure all rules end with a semicolon. From-SVN: r54270 --- gcc/ChangeLog | 4 ++++ gcc/gengtype-yacc.y | 22 +++++++++++++++++++--- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 50dfd16c19e1..6d4ae5f9f647 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2002-06-04 Zack Weinberg + + * gengtype-yacc.y: Make sure all rules end with a semicolon. + 2002-06-04 Bob Wilson * config/xtensa/xtensa.c (xtensa_init_machine_status): Fix diff --git a/gcc/gengtype-yacc.y b/gcc/gengtype-yacc.y index 43fbea66ab75..ba3340765d4a 100644 --- a/gcc/gengtype-yacc.y +++ b/gcc/gengtype-yacc.y @@ -63,6 +63,7 @@ start: /* empty */ | typedef_struct start | externstatic start | yacc_union start + ; typedef_struct: ENT_TYPEDEF_STRUCT options '{' struct_fields '}' ID { @@ -79,6 +80,7 @@ typedef_struct: ENT_TYPEDEF_STRUCT options '{' struct_fields '}' ID lexer_toplevel_done = 1; } ';' + ; externstatic: ENT_EXTERNSTATIC options lasttype ID semiequal { @@ -96,21 +98,25 @@ externstatic: ENT_EXTERNSTATIC options lasttype ID semiequal $5), $2, &lexer_line); } + ; lasttype: type { lexer_toplevel_done = 1; $$ = $1; } + ; semiequal: ';' | '=' ; -yacc_union: ENT_YACCUNION options struct_fields '}' yacc_typematch PERCENTPERCENT +yacc_union: ENT_YACCUNION options struct_fields '}' yacc_typematch + PERCENTPERCENT { note_yacc_type ($2, $3, $5, &lexer_line); } + ; yacc_typematch: /* empty */ { $$ = NULL; } @@ -170,6 +176,7 @@ yacc_ids: /* empty */ sprintf (p->opt->info, "'%s'", $2); $$ = p; } + ; struct_fields: { $$ = NULL; } | type optionsopt ID bitfieldopt ';' struct_fields @@ -202,9 +209,11 @@ struct_fields: { $$ = NULL; } p->line = lexer_line; $$ = p; } + ; bitfieldopt: /* empty */ | ':' NUM + ; type: SCALAR { $$ = $1; } @@ -230,6 +239,7 @@ type: SCALAR { $$ = create_scalar_type ($2, strlen ($2)); } | ENUM ID '{' enum_items '}' { $$ = create_scalar_type ($2, strlen ($2)); } + ; enum_items: /* empty */ | ID '=' NUM ',' enum_items @@ -242,13 +252,17 @@ enum_items: /* empty */ optionsopt: { $$ = NULL; } | options { $$ = $1; } + ; -options: GTY_TOKEN '(' '(' optionseqopt ')' ')' { $$ = $4; } +options: GTY_TOKEN '(' '(' optionseqopt ')' ')' + { $$ = $4; } + ; type_option : ALIAS { $$ = "ptr_alias"; } | PARAM_IS { $$ = "param_is"; } + ; option: type_option '(' type ')' { @@ -264,6 +278,7 @@ option: type_option '(' type ')' o->info = (void *)$3; $$ = o; } + ; optionseq: option { @@ -275,8 +290,9 @@ optionseq: option $3->next = $1; $$ = $3; } + ; optionseqopt: { $$ = NULL } | optionseq { $$ = $1; } - + ; %% -- 2.43.5