From 5ec87ba554c2a83cdc188724f815e53fede91b66 Mon Sep 17 00:00:00 2001 From: David Chase Date: Thu, 28 Apr 2016 10:46:08 -0400 Subject: [PATCH] cmd/compile: fix.gc.Type.cmp for map.notBucket cmp map.Bucket Comparison of certain map types could fail to be antisymmetric. This corrects that. Change-Id: I88c6256053ce29950ced4ba4d538e241ee8591fe Reviewed-on: https://go-review.googlesource.com/22552 Run-TryBot: David Chase TryBot-Result: Gobot Gobot Reviewed-by: jcd . Reviewed-by: Keith Randall --- src/cmd/compile/internal/gc/type.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/cmd/compile/internal/gc/type.go b/src/cmd/compile/internal/gc/type.go index 9f049babc2..9ae05f7ff1 100644 --- a/src/cmd/compile/internal/gc/type.go +++ b/src/cmd/compile/internal/gc/type.go @@ -992,6 +992,8 @@ func (t *Type) cmp(x *Type) ssa.Cmp { return ssa.CMPlt // bucket maps are least } return t.StructType().Map.cmp(x.StructType().Map) + } else if x.StructType().Map.MapType().Bucket == x { + return ssa.CMPgt // bucket maps are least } // If t != t.Map.Bucket, fall through to general case fallthrough -- 2.48.1