Skip to content

Commit

Permalink
compiler: Don't crash on invalid arithmetic ops.
Browse files Browse the repository at this point in the history
    
    The gofrontend would crash after hitting an unreachable state while
    trying to determine the type of an arithmetic expression involving
    non-numeric values.  Instead of crashing, it should fail gracefully
    if the relevant error is already reported.
    
    Fixes golang/go#11537.
    
    Reviewed-on: https://go-review.googlesource.com/13793


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227227 138bc75d-0d04-0410-961f-82ee72b054a4
  • Loading branch information
ian committed Aug 26, 2015
1 parent 7ebdc88 commit 5706ab6
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 2 deletions.
2 changes: 1 addition & 1 deletion gcc/go/gofrontend/MERGE
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
d5e6af4e6dd456075a1ec1c03d0dc41cbea5eb36
cd5362c7bb0b207f484a8dfb8db229fd2bffef09

The first line of this file holds the git revision number of the last
merge done from the gofrontend repository.
6 changes: 5 additions & 1 deletion gcc/go/gofrontend/expressions.cc
Original file line number Diff line number Diff line change
Expand Up @@ -15150,7 +15150,11 @@ Numeric_constant::set_type(Type* type, bool issue_error, Location loc)
else if (type->complex_type() != NULL)
ret = this->check_complex_type(type->complex_type(), issue_error, loc);
else
go_unreachable();
{
ret = false;
if (issue_error)
go_assert(saw_errors());
}
if (ret)
this->type_ = type;
return ret;
Expand Down

0 comments on commit 5706ab6

Please sign in to comment.