Fix segmentation fault with constant function parameters

This commit is contained in:
Federico Bond
2017-06-21 22:46:27 -03:00
parent 26ea9ce07c
commit 0f8ad1d68f
3 changed files with 29 additions and 1 deletions
@@ -1597,6 +1597,16 @@ BOOST_AUTO_TEST_CASE(empty_name_input_parameter)
CHECK_SUCCESS(text);
}
BOOST_AUTO_TEST_CASE(constant_input_parameter)
{
char const* text = R"(
contract test {
function f(uint[] constant a) { }
}
)";
CHECK_ERROR_ALLOW_MULTI(text, TypeError, "Illegal use of \"constant\" specifier.");
}
BOOST_AUTO_TEST_CASE(empty_name_return_parameter)
{
char const* text = R"(
@@ -5582,6 +5592,16 @@ BOOST_AUTO_TEST_CASE(interface_variables)
CHECK_ERROR(text, TypeError, "Variables cannot be declared in interfaces");
}
BOOST_AUTO_TEST_CASE(interface_function_parameters)
{
char const* text = R"(
interface I {
function f(uint a) returns(bool);
}
)";
success(text);
}
BOOST_AUTO_TEST_CASE(interface_enums)
{
char const* text = R"(