Branch: Tag:

2016-10-06

2016-10-06 13:58:35 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Pike]: Local function declarations are now statements.

This means that they no longer are expressions, and the terminating
semicolon is thus no longer required.

It seems that it was quite complicated to actually use them as
expressions, so the fall-out from the lack of backward compatibility
is likely to be limited, but we may want to consider adding a
corresponding warning to Pike 8.0.

2042:    | case    | default    | labeled_statement +  | simple_type2 local_function { $$=mkcastnode(void_type_string, $2); }    ;      labeled_statement: TOK_IDENTIFIER
3152:      comma_expr: comma_expr2    | simple_type2 local_name_list { $$=$2; } -  | simple_type2 local_function { $$=mkcastnode(void_type_string, $2); } +     ;