diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/cmd/compile/internal/gc/noder.go | 2 | ||||
| -rw-r--r-- | src/cmd/compile/internal/gc/subr.go | 8 |
2 files changed, 8 insertions, 2 deletions
diff --git a/src/cmd/compile/internal/gc/noder.go b/src/cmd/compile/internal/gc/noder.go index 31fe46ad62..802aab2268 100644 --- a/src/cmd/compile/internal/gc/noder.go +++ b/src/cmd/compile/internal/gc/noder.go @@ -44,7 +44,7 @@ func parseFiles(filenames []string) uint { f, err := os.Open(filename) if err != nil { - p.error(syntax.Error{Pos: syntax.MakePos(base, 0, 0), Msg: err.Error()}) + p.error(syntax.Error{Msg: err.Error()}) return } defer f.Close() diff --git a/src/cmd/compile/internal/gc/subr.go b/src/cmd/compile/internal/gc/subr.go index 2bbc5e4ae1..9362c74288 100644 --- a/src/cmd/compile/internal/gc/subr.go +++ b/src/cmd/compile/internal/gc/subr.go @@ -60,9 +60,15 @@ func adderrorname(n *Node) { } func adderr(pos src.XPos, format string, args ...interface{}) { + msg := fmt.Sprintf(format, args...) + // Only add the position if know the position. + // See issue golang.org/issue/11361. + if pos.IsKnown() { + msg = fmt.Sprintf("%v: %s", linestr(pos), msg) + } errors = append(errors, Error{ pos: pos, - msg: fmt.Sprintf("%v: %s\n", linestr(pos), fmt.Sprintf(format, args...)), + msg: msg + "\n", }) } |
