aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@gcc.gnu.org>2011-02-19 03:37:30 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2011-02-19 03:37:30 +0000
commit196bc4071beb8caa9897f3ffaabb7ebb472e9b3c (patch)
treed99c774d0497e80cfc6c1afb71298197b7eb7eb0
parent1e2afadbc0827357daf6d6b7322a9250aad3f4ab (diff)
downloadgcc-196bc4071beb8caa9897f3ffaabb7ebb472e9b3c.zip
gcc-196bc4071beb8caa9897f3ffaabb7ebb472e9b3c.tar.gz
gcc-196bc4071beb8caa9897f3ffaabb7ebb472e9b3c.tar.bz2
Avoid dangling open function after erroneous method expression.
From-SVN: r170302
-rw-r--r--gcc/go/gofrontend/expressions.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/go/gofrontend/expressions.cc b/gcc/go/gofrontend/expressions.cc
index e1d59be..c17cc9e 100644
--- a/gcc/go/gofrontend/expressions.cc
+++ b/gcc/go/gofrontend/expressions.cc
@@ -10335,7 +10335,10 @@ Selector_expression::lower_method_expression(Gogo* gogo)
// Even though we found the method above, if it has an error type we
// may see an error here.
if (bm->is_error_expression())
- return bm;
+ {
+ gogo->finish_function(location);
+ return bm;
+ }
Expression_list* args;
if (method_parameters == NULL)