diff options
-rw-r--r-- | gcc/go/gofrontend/MERGE | 2 | ||||
-rw-r--r-- | gcc/go/gofrontend/types.cc | 9 |
2 files changed, 4 insertions, 7 deletions
diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE index 4e6bac7..02a6e1d 100644 --- a/gcc/go/gofrontend/MERGE +++ b/gcc/go/gofrontend/MERGE @@ -1,4 +1,4 @@ -47380f733ca932384e59492d2f04374edd8ec95e +7f8fee099d6de4a5a857765e0ddfae356ead554c 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 ee34676..8267f15 100644 --- a/gcc/go/gofrontend/types.cc +++ b/gcc/go/gofrontend/types.cc @@ -2816,6 +2816,9 @@ class Ptrmask void Ptrmask::set_from(Gogo* gogo, Type* type, int64_t ptrsize, int64_t offset) { + if (!type->has_pointer()) + return; + switch (type->base()->classification()) { default: @@ -2858,9 +2861,6 @@ Ptrmask::set_from(Gogo* gogo, Type* type, int64_t ptrsize, int64_t offset) case Type::TYPE_STRUCT: { - if (!type->has_pointer()) - return; - const Struct_field_list* fields = type->struct_type()->fields(); int64_t soffset = 0; for (Struct_field_list::const_iterator pf = fields->begin(); @@ -2898,9 +2898,6 @@ Ptrmask::set_from(Gogo* gogo, Type* type, int64_t ptrsize, int64_t offset) } else { - if (!type->has_pointer()) - return; - int64_t len; if (!type->array_type()->int_length(&len)) { |