From 6862f2294357d18a4640e95e3f9235692e6c055e Mon Sep 17 00:00:00 2001 From: Daniel Kirchner Date: Thu, 12 Apr 2018 14:57:14 +0200 Subject: Fix internal compiler error when parsing ``var`` declaration without identifier. --- test/libsolidity/syntaxTests/parsing/return_var.sol | 13 +++++++++++++ .../syntaxTests/parsing/var_in_function_arguments.sol | 13 +++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 test/libsolidity/syntaxTests/parsing/return_var.sol create mode 100644 test/libsolidity/syntaxTests/parsing/var_in_function_arguments.sol (limited to 'test/libsolidity/syntaxTests') diff --git a/test/libsolidity/syntaxTests/parsing/return_var.sol b/test/libsolidity/syntaxTests/parsing/return_var.sol new file mode 100644 index 00000000..113032a7 --- /dev/null +++ b/test/libsolidity/syntaxTests/parsing/return_var.sol @@ -0,0 +1,13 @@ +contract C { + function f() returns(var) {} + function f() returns(var x) {} + function f() public pure returns (var storage) {} + function f() public pure returns (var storage x) {} +} +// ---- +// ParserError: (38-38): Expected explicit type name. +// ParserError: (71-71): Expected explicit type name. +// ParserError: (119-119): Expected explicit type name. +// ParserError: (123-123): Location specifier needs explicit type name. +// ParserError: (173-173): Expected explicit type name. +// ParserError: (177-177): Location specifier needs explicit type name. diff --git a/test/libsolidity/syntaxTests/parsing/var_in_function_arguments.sol b/test/libsolidity/syntaxTests/parsing/var_in_function_arguments.sol new file mode 100644 index 00000000..cb166c7d --- /dev/null +++ b/test/libsolidity/syntaxTests/parsing/var_in_function_arguments.sol @@ -0,0 +1,13 @@ +contract C { + function f(var) public pure {} + function f(var x) public pure {} + function f(var storage) public pure {} + function f(var storage x) public pure {} +} +// ---- +// ParserError: (28-28): Expected explicit type name. +// ParserError: (63-63): Expected explicit type name. +// ParserError: (100-100): Expected explicit type name. +// ParserError: (104-104): Location specifier needs explicit type name. +// ParserError: (143-143): Expected explicit type name. +// ParserError: (147-147): Location specifier needs explicit type name. -- cgit