Commit 3868d6bf by Ian Lance Taylor

Report errors for temporary statements rather than crashing.

From-SVN: r168128
parent c8f2cf85
......@@ -350,7 +350,18 @@ void
Temporary_statement::do_check_types(Gogo*)
{
if (this->type_ != NULL && this->init_ != NULL)
gcc_assert(Type::are_assignable(this->type_, this->init_->type(), NULL));
{
std::string reason;
if (!Type::are_assignable(this->type_, this->init_->type(), &reason))
{
if (reason.empty())
error_at(this->location(), "incompatible types in assignment");
else
error_at(this->location(), "incompatible types in assignment (%s)",
reason.c_str());
this->set_is_error();
}
}
}
// Return a tree.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment