aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDaniel Martí <mvdan@mvdan.cc>2017-12-24 16:50:28 +0000
committerDaniel Martí <mvdan@mvdan.cc>2018-02-13 21:11:55 +0000
commit7ddd467ef335f9ea2347bb9c2628091568b3370f (patch)
treeb36bd5895a7bfe97e782db0267e863c6963ebb9c /src
parentddb503be96dd9a10c6591a2e6806548f9ddbac62 (diff)
downloadgo-7ddd467ef335f9ea2347bb9c2628091568b3370f.tar.xz
cmd/compile: print usage to stderr for consistency
All the other tools and commands print the usage text to standard error. "go tool compile" was the odd one out, so fix it. While at it, make objabi.Flagprint a bit more Go-like with an io.Writer instead of a file descriptor, which is likely a leftover from the C days. Fixes #23234. Change-Id: I9abf2e79461e61c8c8bfaee2c6bf8faf26e0e6c3 Reviewed-on: https://go-review.googlesource.com/85418 Run-TryBot: Daniel Martí <mvdan@mvdan.cc> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com>
Diffstat (limited to 'src')
-rw-r--r--src/cmd/compile/internal/gc/main.go4
-rw-r--r--src/cmd/internal/objabi/flag.go7
-rw-r--r--src/cmd/link/internal/ld/lib.go2
3 files changed, 6 insertions, 7 deletions
diff --git a/src/cmd/compile/internal/gc/main.go b/src/cmd/compile/internal/gc/main.go
index f1591c16d2..802e02896d 100644
--- a/src/cmd/compile/internal/gc/main.go
+++ b/src/cmd/compile/internal/gc/main.go
@@ -94,8 +94,8 @@ Key "pctab" supports values:
`
func usage() {
- fmt.Printf("usage: compile [options] file.go...\n")
- objabi.Flagprint(1)
+ fmt.Fprintf(os.Stderr, "usage: compile [options] file.go...\n")
+ objabi.Flagprint(os.Stderr)
Exit(2)
}
diff --git a/src/cmd/internal/objabi/flag.go b/src/cmd/internal/objabi/flag.go
index 1bd4bc9063..d0522c8f43 100644
--- a/src/cmd/internal/objabi/flag.go
+++ b/src/cmd/internal/objabi/flag.go
@@ -7,6 +7,7 @@ package objabi
import (
"flag"
"fmt"
+ "io"
"os"
"strconv"
"strings"
@@ -20,10 +21,8 @@ func Flagfn1(name, usage string, f func(string)) {
flag.Var(fn1(f), name, usage)
}
-func Flagprint(fd int) {
- if fd == 1 {
- flag.CommandLine.SetOutput(os.Stdout)
- }
+func Flagprint(w io.Writer) {
+ flag.CommandLine.SetOutput(w)
flag.PrintDefaults()
}
diff --git a/src/cmd/link/internal/ld/lib.go b/src/cmd/link/internal/ld/lib.go
index 6dcaf64122..bfff5209a6 100644
--- a/src/cmd/link/internal/ld/lib.go
+++ b/src/cmd/link/internal/ld/lib.go
@@ -1953,7 +1953,7 @@ func stkprint(ctxt *Link, ch *chain, limit int) {
func usage() {
fmt.Fprintf(os.Stderr, "usage: link [options] main.o\n")
- objabi.Flagprint(2)
+ objabi.Flagprint(os.Stderr)
Exit(2)
}