diff --git a/src/cmd/compile/internal/gc/typecheck.go b/src/cmd/compile/internal/gc/typecheck.go index d08f52e5c5..df527a5036 100644 --- a/src/cmd/compile/internal/gc/typecheck.go +++ b/src/cmd/compile/internal/gc/typecheck.go @@ -3754,6 +3754,11 @@ ret: } func checkmake(t *Type, arg string, n *Node) bool { + if !n.Type.IsInteger() && n.Type.Etype != TIDEAL { + Yyerror("non-integer %s argument in make(%v) - %v", arg, t, n.Type) + return false + } + if n.Op == OLITERAL { switch n.Val().Ctype() { case CTINT, CTRUNE, CTFLT, CTCPLX: @@ -3779,11 +3784,6 @@ func checkmake(t *Type, arg string, n *Node) bool { } } - if !n.Type.IsInteger() && n.Type.Etype != TIDEAL { - Yyerror("non-integer %s argument in make(%v) - %v", arg, t, n.Type) - return false - } - // Defaultlit still necessary for non-constant: n might be 1<