Fix crash for TypeName[k].

This commit is contained in:
chriseth 2016-09-15 18:01:13 +02:00
parent 6a80511ffb
commit 031fd568cc
3 changed files with 19 additions and 1 deletions

View File

@ -1,3 +1,11 @@
### 0.4.2
* Type Checker: Fixed a crash about invalid array types.
### 0.4.1 (2016-09-09)
* Build System: Fixes to allow library compilation.
### 0.4.0 (2016-09-08)
This release deliberately breaks backwards compatibility mostly to

View File

@ -1438,7 +1438,7 @@ bool TypeChecker::visit(IndexAccess const& _access)
length->literalValue(nullptr)
));
else
typeError(index->location(), "Integer constant expected.");
fatalTypeError(index->location(), "Integer constant expected.");
}
break;
}

View File

@ -4009,6 +4009,16 @@ BOOST_AUTO_TEST_CASE(external_constructor)
BOOST_CHECK(expectError(text, false) == Error::Type::TypeError);
}
BOOST_AUTO_TEST_CASE(invalid_array_as_statement)
{
char const* text = R"(
contract test {
struct S { uint x; }
function test(uint k) { S[k]; }
}
)";
BOOST_CHECK(expectError(text, false) == Error::Type::TypeError);
}
BOOST_AUTO_TEST_SUITE_END()