diff options
| author | Emmanuel T Odeke <emmanuel@orijtech.com> | 2020-04-29 20:55:22 -0700 |
|---|---|---|
| committer | Robert Griesemer <gri@golang.org> | 2020-05-08 20:28:57 +0000 |
| commit | 26de581a709428d55ffc38cc0dbc7ddfc96b9443 (patch) | |
| tree | e026dfeda47929cda82aa68f0636024b7694a170 /src | |
| parent | 8f4be42b37469d7c392c330ac13599a88d5c9ea2 (diff) | |
| download | go-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.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", }) } |
