aboutsummaryrefslogtreecommitdiff
path: root/gcc/go/gofrontend/expressions.cc
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@gcc.gnu.org>2011-03-26 18:31:36 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2011-03-26 18:31:36 +0000
commitf7b8b261e78a327c70188a30778eb1268c91cdec (patch)
tree9e1c9bd06f28c5c0449f56fbed961b272344de40 /gcc/go/gofrontend/expressions.cc
parent84b4e061886a5d9b88d278275020d7fca0b8efcb (diff)
downloadgcc-f7b8b261e78a327c70188a30778eb1268c91cdec.zip
gcc-f7b8b261e78a327c70188a30778eb1268c91cdec.tar.gz
gcc-f7b8b261e78a327c70188a30778eb1268c91cdec.tar.bz2
Don't permit embedded field to be pointer to interface.
From-SVN: r171558
Diffstat (limited to 'gcc/go/gofrontend/expressions.cc')
-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 e3a3ab5..f1a2ec7 100644
--- a/gcc/go/gofrontend/expressions.cc
+++ b/gcc/go/gofrontend/expressions.cc
@@ -10135,7 +10135,10 @@ Interface_field_reference_expression::do_check_types(Gogo*)
Interface_type* interface_type = type->interface_type();
if (interface_type == NULL)
- this->report_error(_("expected interface or pointer to interface"));
+ {
+ if (!type->is_error_type())
+ this->report_error(_("expected interface or pointer to interface"));
+ }
else
{
const Typed_identifier* method =