// Copyright 2015 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package gc import ( "cmd/compile/internal/types" "cmd/internal/src" ) // numImport tracks how often a package with a given name is imported. // It is used to provide a better error message (by using the package // path to disambiguate) if a package that appears multiple times with // the same name appears in an error message. var numImport = make(map[string]int) func idealType(typ *types.Type) *types.Type { switch typ { case types.Idealint, types.Idealrune, types.Idealfloat, types.Idealcomplex: // canonicalize ideal types typ = types.Types[TIDEAL] } return typ } func npos(pos src.XPos, n *Node) *Node { n.Pos = pos return n } func builtinCall(op Op) *Node { return nod(OCALL, mkname(builtinpkg.Lookup(goopnames[op])), nil) }