Branch: refs/heads/main
Revision: a99c66b
Author: bradcray
Log Message:
Merge pull request #18269 from bradcray/fix-parenless-return-ident
Fix compiler's representation of paren-less functions that simply return
[reviewed by @dlongnecke-cray]
When the parser+lexer is gobbling up text to store as the user's
function header, it has not been handling this case properly:
proc parenLessFn return expr;
because it's been triggering off of the presence of curly brackets as
the signal to stop gobbling code into the function's string.
This change makes a simple change to the lexer to also stop if it sees
a return statement (the one statement that we support for functions
without curly brackets at present) and retires two futures.
Modified Files:
R test/parsing/vass/parenthesis-less-function-string.bad
R test/parsing/vass/parenthesis-less-function-string.future
R test/trivial/diten/shortMethodError.bad
R test/trivial/diten/shortMethodError.future
M compiler/parser/chapel.lex
M compiler/parser/flex-chapel.cpp
Compare: https://github.com/chapel-lang/chapel/compare/9631b6d98c2c...a99c66bcb9ff