diff --git a/lib/config/config_parser.yy b/lib/config/config_parser.yy index fe5bf9052..8fa10e71f 100644 --- a/lib/config/config_parser.yy +++ b/lib/config/config_parser.yy @@ -937,7 +937,7 @@ rterm_no_side_effect_no_dict: T_STRING $$ = new FunctionExpression("", std::move(args), {}, std::unique_ptr($3), @$); } - | '(' identifier_items ')' T_FOLLOWS + | '(' identifier_items ')' use_specifier T_FOLLOWS { BeginFlowControlBlock(context, FlowControlReturn, false); } @@ -945,15 +945,17 @@ rterm_no_side_effect_no_dict: T_STRING { EndFlowControlBlock(context); - $$ = new FunctionExpression("", std::move(*$2), {}, std::unique_ptr($6), @$); + $$ = new FunctionExpression("", std::move(*$2), std::move(*$4), std::unique_ptr($7), @$); delete $2; + delete $4; } - | '(' identifier_items ')' T_FOLLOWS rterm %dprec 1 + | '(' identifier_items ')' use_specifier T_FOLLOWS rterm %dprec 1 { - ASSERT(!dynamic_cast($5)); + ASSERT(!dynamic_cast($6)); - $$ = new FunctionExpression("", std::move(*$2), {}, std::unique_ptr($5), @$); + $$ = new FunctionExpression("", std::move(*$2), std::move(*$4), std::unique_ptr($6), @$); delete $2; + delete $4; } | rterm_array | '('