compiler: avoid compiler crash on invalid program
I encountered this crash while working on upgrading libgo to the 1.9 release. I no longer have the cause of the crash, but it doesn't much matter, as the policy for crash-on-invalid errors is to fix the crash but not bother to commit the invalid test case. Reviewed-on: https://go-review.googlesource.com/62750 From-SVN: r252748
This commit is contained in:
parent
03ff36aa01
commit
0468f67f27
@ -1,4 +1,4 @@
|
||||
89e46ae0cde7bebd8e97434355c5b7e57d902613
|
||||
0176cbc6dbd2170bfe2eb8904b80ddfe4c946997
|
||||
|
||||
The first line of this file holds the git revision number of the last
|
||||
merge done from the gofrontend repository.
|
||||
|
@ -210,7 +210,11 @@ Expression::convert_type_to_interface(Type* lhs_type, Expression* rhs,
|
||||
}
|
||||
|
||||
// This should have been checked already.
|
||||
go_assert(lhs_interface_type->implements_interface(rhs_type, NULL));
|
||||
if (!lhs_interface_type->implements_interface(rhs_type, NULL))
|
||||
{
|
||||
go_assert(saw_errors());
|
||||
return Expression::make_error(location);
|
||||
}
|
||||
|
||||
// An interface is a tuple. If LHS_TYPE is an empty interface type,
|
||||
// then the first field is the type descriptor for RHS_TYPE.
|
||||
|
Loading…
Reference in New Issue
Block a user