diff options
author | Ian Lance Taylor <ian@gcc.gnu.org> | 2018-06-05 20:23:40 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@gcc.gnu.org> | 2018-06-05 20:23:40 +0000 |
commit | e0b195b58aaa99cbdcb2bbe2996f6885562da987 (patch) | |
tree | 20115a17b149bdd5fa407deec538f86505eadb6d /gcc | |
parent | 6d02e2d96029dfddfc4a37cd82791503f5a1fd88 (diff) | |
download | gcc-e0b195b58aaa99cbdcb2bbe2996f6885562da987.zip gcc-e0b195b58aaa99cbdcb2bbe2996f6885562da987.tar.gz gcc-e0b195b58aaa99cbdcb2bbe2996f6885562da987.tar.bz2 |
reflect: canonicalize types returned by StructOf() and friends
Background: since gccgo does not currently merge identical types at link time,
the reflect function canonicalize() exists to choose a canonical specimen
for each set of identical types.
In this way, user code has the guarantee that identical types
will always compare as ==
Change: arrange reflect functions MapOf(), SliceOf(), StructOf() etc.
to call canonicalize() on the types they create, before storing the types
in internal lookup caches and returning them.
This fixes known cases where canonicalize() is needed but was missing.
Supersedes https://golang.org/cl/112575 and mostly fixes issue 25284.
Updates golang/go#25284
Reviewed-on: https://go-review.googlesource.com/115577
From-SVN: r261216
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/go/gofrontend/MERGE | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE index f2ec420..d2fde07 100644 --- a/gcc/go/gofrontend/MERGE +++ b/gcc/go/gofrontend/MERGE @@ -1,4 +1,4 @@ -8e74a218e11ef6eaaf7014a3ad1cd0b13359c607 +8b6c7f3f9762366bab96ea95b966e93e2593be13 The first line of this file holds the git revision number of the last merge done from the gofrontend repository. |