Don't crash on erroneous thunk.
From-SVN: r170031
This commit is contained in:
parent
4a299bf4ff
commit
c7f4431d45
1 changed files with 12 additions and 2 deletions
|
@ -1776,8 +1776,13 @@ Thunk_statement::do_determine_types()
|
|||
|
||||
// Now that we know the types of the call, build the struct used to
|
||||
// pass parameters.
|
||||
Function_type* fntype =
|
||||
this->call_->call_expression()->get_function_type();
|
||||
Call_expression* ce = this->call_->call_expression();
|
||||
if (ce == NULL)
|
||||
{
|
||||
gcc_assert(this->call_->is_error_expression());
|
||||
return;
|
||||
}
|
||||
Function_type* fntype = ce->get_function_type();
|
||||
if (fntype != NULL && !this->is_simple(fntype))
|
||||
this->struct_type_ = this->build_struct(fntype);
|
||||
}
|
||||
|
@ -1788,6 +1793,11 @@ void
|
|||
Thunk_statement::do_check_types(Gogo*)
|
||||
{
|
||||
Call_expression* ce = this->call_->call_expression();
|
||||
if (ce == NULL)
|
||||
{
|
||||
gcc_assert(this->call_->is_error_expression());
|
||||
return;
|
||||
}
|
||||
Function_type* fntype = ce->get_function_type();
|
||||
if (fntype != NULL && fntype->is_method())
|
||||
{
|
||||
|
|
Loading…
Add table
Reference in a new issue