diff options
author | Ian Lance Taylor <ian@gcc.gnu.org> | 2015-10-30 23:00:06 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@gcc.gnu.org> | 2015-10-30 23:00:06 +0000 |
commit | 8af57ca26909107a20d01728c49e1e22247e300b (patch) | |
tree | edbd4f6066e7a9f37db7f91ad8437c55c90b359f /gcc | |
parent | 27776f553010a0410b75d23597b944aa19d2776c (diff) | |
download | gcc-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')
-rw-r--r-- | gcc/go/gofrontend/MERGE | 2 | ||||
-rw-r--r-- | gcc/go/gofrontend/types.cc | 8 |
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)); } |