From 7ddd467ef335f9ea2347bb9c2628091568b3370f Mon Sep 17 00:00:00 2001 From: =?utf8?q?Daniel=20Mart=C3=AD?= Date: Sun, 24 Dec 2017 16:50:28 +0000 Subject: [PATCH] cmd/compile: print usage to stderr for consistency MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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í TryBot-Result: Gobot Gobot Reviewed-by: Matthew Dempsky --- src/cmd/compile/internal/gc/main.go | 4 ++-- src/cmd/internal/objabi/flag.go | 7 +++---- src/cmd/link/internal/ld/lib.go | 2 +- 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) } -- 2.48.1