diff options
author | Ian Lance Taylor <ian@gcc.gnu.org> | 2018-10-01 22:25:52 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@gcc.gnu.org> | 2018-10-01 22:25:52 +0000 |
commit | b1d88684bb3c64b60d72ea6b248f23d9d75fdbee (patch) | |
tree | 132eb9ea3cc5a9e9e7d876aacfc78e9cc7c0e895 | |
parent | 44ef03008c75059368245eb3dcd6054bed3f7643 (diff) | |
download | gcc-b1d88684bb3c64b60d72ea6b248f23d9d75fdbee.zip gcc-b1d88684bb3c64b60d72ea6b248f23d9d75fdbee.tar.gz gcc-b1d88684bb3c64b60d72ea6b248f23d9d75fdbee.tar.bz2 |
compiler: use the underlying type to build placeholder type for alias
When asking for a placeholder type of an alias type, build a
placeholder for the underlying type, instead of treating the
alias as a named type and calling get_backend. The latter may
fail as we may not be ready to build a complete backend type. We
have already used a unified backend type for alias type and its
underlying type. Do the same for placeholders as well.
Reviewed-on: https://go-review.googlesource.com/138635
From-SVN: r264773
-rw-r--r-- | gcc/go/gofrontend/MERGE | 2 | ||||
-rw-r--r-- | gcc/go/gofrontend/types.cc | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE index 6ad2146..ad3253f 100644 --- a/gcc/go/gofrontend/MERGE +++ b/gcc/go/gofrontend/MERGE @@ -1,4 +1,4 @@ -2f56d51c6b3104242613c74b02fa6c63a2fe16c5 +53d0d7ca278a5612fcdb5fb098e7bf950a0178ef 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 ad0704c..3768719 100644 --- a/gcc/go/gofrontend/types.cc +++ b/gcc/go/gofrontend/types.cc @@ -1125,6 +1125,8 @@ Type::get_backend_placeholder(Gogo* gogo) case TYPE_FORWARD: // Named types keep track of their own dependencies and manage // their own placeholders. + if (this->named_type() != NULL && this->named_type()->is_alias()) + return this->unalias()->get_backend_placeholder(gogo); return this->get_backend(gogo); case TYPE_INTERFACE: |