aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEmmanuel T Odeke <emmanuel@orijtech.com>2020-04-29 20:55:22 -0700
committerRobert Griesemer <gri@golang.org>2020-05-08 20:28:57 +0000
commit26de581a709428d55ffc38cc0dbc7ddfc96b9443 (patch)
treee026dfeda47929cda82aa68f0636024b7694a170 /src
parent8f4be42b37469d7c392c330ac13599a88d5c9ea2 (diff)
downloadgo-26de581a709428d55ffc38cc0dbc7ddfc96b9443.tar.xz
cmd/compile: omit file:pos for non-existent errors
Omits printing the file:line:column when trying to open non-existent files Given: go tool compile x.go * Before: x.go:0: open x.go: no such file or directory * After: open x.go: no such file or directory Reverts the revert in CL 231043 by only fixing the case of non-existent errors which is what the original bug was about. The fix for "permission errors" will come later on when I have bandwidth to investigate the differences between running with root and why os.Open works for some builders and not others. Fixes #36437 Change-Id: I9c8a0981ad708b504bb43990a4105b42266fa41f Reviewed-on: https://go-review.googlesource.com/c/go/+/230941 Run-TryBot: Emmanuel Odeke <emm.odeke@gmail.com> Reviewed-by: Robert Griesemer <gri@golang.org>
Diffstat (limited to 'src')
-rw-r--r--src/cmd/compile/internal/gc/noder.go2
-rw-r--r--src/cmd/compile/internal/gc/subr.go8
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",
})
}