aboutsummaryrefslogtreecommitdiff
path: root/gcc/go
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@gcc.gnu.org>2015-10-30 23:00:06 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2015-10-30 23:00:06 +0000
commit8af57ca26909107a20d01728c49e1e22247e300b (patch)
treeedbd4f6066e7a9f37db7f91ad8437c55c90b359f /gcc/go
parent27776f553010a0410b75d23597b944aa19d2776c (diff)
downloadgcc-8af57ca26909107a20d01728c49e1e22247e300b.zip
gcc-8af57ca26909107a20d01728c49e1e22247e300b.tar.gz
gcc-8af57ca26909107a20d01728c49e1e22247e300b.tar.bz2
compiler: Create pointer type for all types with methods.
Reviewed-on: https://go-review.googlesource.com/16522 From-SVN: r229612
Diffstat (limited to 'gcc/go')
-rw-r--r--gcc/go/gofrontend/MERGE2
-rw-r--r--gcc/go/gofrontend/types.cc8
2 files changed, 7 insertions, 3 deletions
diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE
index 987bd68..5d35b04 100644
--- a/gcc/go/gofrontend/MERGE
+++ b/gcc/go/gofrontend/MERGE
@@ -1,4 +1,4 @@
-85994dd0a88d1b24b2ddfc9c9ab22ee16c9e8b54
+16f69a4007a1903da4055a496882b514e05f45f3
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/types.cc b/gcc/go/gofrontend/types.cc
index b4620ff..822037d 100644
--- a/gcc/go/gofrontend/types.cc
+++ b/gcc/go/gofrontend/types.cc
@@ -2064,11 +2064,15 @@ Type::type_descriptor_constructor(Gogo* gogo, int runtime_type_kind,
++p;
go_assert(p->is_field_name("ptrToThis"));
- if (name == NULL)
+ if (name == NULL && methods == NULL)
vals->push_back(Expression::make_nil(bloc));
else
{
- Type* pt = Type::make_pointer_type(name);
+ Type* pt;
+ if (name != NULL)
+ pt = Type::make_pointer_type(name);
+ else
+ pt = Type::make_pointer_type(this);
vals->push_back(Expression::make_type_descriptor(pt, bloc));
}