From: ian Date: Tue, 20 Oct 2015 20:44:23 +0000 (+0000) Subject: compiler: Report errors after evaluating invalid constant. X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=80c055850b13723a44bd87772f8a3bdf7df15fbd;p=thirdparty%2Fgcc.git compiler: Report errors after evaluating invalid constant. The fix for golang/go#11541 made the assertion that getting an invalid Numeric_constant after evaluating an invalid constant must result in an error in a binary expression. However, a Numeric_constant can be invalid if it is unset, which occurs when either operand cannot be converted to the right type. These errors are issued after the Numeric_constant is lowered. Fixes golang/go#12615. Reviewed-on: https://go-review.googlesource.com/14646 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@229098 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE index d184a431a55b..6fcd18593a60 100644 --- a/gcc/go/gofrontend/MERGE +++ b/gcc/go/gofrontend/MERGE @@ -1,4 +1,4 @@ -302d8abbc499e28088d758ae8b2c024d8e50b9b3 +11e249a59e8c627fe9c2938c38e39cb1efefb1fb The first line of this file holds the git revision number of the last merge done from the gofrontend repository. diff --git a/gcc/go/gofrontend/expressions.cc b/gcc/go/gofrontend/expressions.cc index 20ca10b05243..0d25dda1f446 100644 --- a/gcc/go/gofrontend/expressions.cc +++ b/gcc/go/gofrontend/expressions.cc @@ -4909,14 +4909,7 @@ Binary_expression::do_lower(Gogo* gogo, Named_object*, Numeric_constant nc; if (!Binary_expression::eval_constant(op, &left_nc, &right_nc, location, &nc)) - { - if (nc.is_invalid()) - { - go_assert(saw_errors()); - return Expression::make_error(location); - } return this; - } return nc.expression(location); } }