X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=src%2Fparser_proc_grammar.y;h=38194e9764131f0cc9b12728e0bff65b8caf5b50;hb=1d04e9e995fdc2fdfcd469c05d1bffdbda86f3f5;hp=5f78335bfbd781e1fd5ee3a9ac2abf49da8c6d9b;hpb=02e801eabbe26a129ea05e6723c94e10bb653dab;p=m6w6%2Fext-psi diff --git a/src/parser_proc_grammar.y b/src/parser_proc_grammar.y index 5f78335..38194e9 100644 --- a/src/parser_proc_grammar.y +++ b/src/parser_proc_grammar.y @@ -1111,9 +1111,10 @@ decl_extvar_stmt[list]: if (psi_decl_extvar_is_blacklisted(var->name)) { psi_decl_var_free(&var); } else { - list = psi_plist_add(list, psi_decl_extvar_init( - psi_decl_arg_init(psi_decl_type_copy($decl_arg->type), var))); - } + struct psi_decl_extvar *evar = psi_decl_extvar_init( + psi_decl_arg_init(psi_decl_type_copy($decl_arg->type), var)); + list = psi_plist_add(list, &evar); + } } free($vars); } @@ -1148,20 +1149,20 @@ decl_vars[vars]: ; ignored_decl: - STATIC decl_body ignored_decl_body { - $ignored_decl = $decl_body; -} -| STATIC CPP_INLINE decl_body ignored_decl_body { - $ignored_decl = $decl_body; -} -| CPP_INLINE decl_body ignored_decl_body { - $ignored_decl = $decl_body; -} -| NAME CPP_INLINE decl_body ignored_decl_body { + ignored_decl_qualifiers decl_body ignored_decl_body { $ignored_decl = $decl_body; } ; +ignored_decl_qualifiers: + STATIC +| STATIC CPP_INLINE +| CPP_EXTENSION CPP_INLINE +| CPP_EXTENSION STATIC CPP_INLINE +| CPP_INLINE +| NAME CPP_INLINE +; + ignored_decl_body: LBRACE ignored_decl_body_stmts RBRACE ;