mirror of
https://github.com/golang/go
synced 2024-11-24 22:10:02 -07:00
cf932cd897
This CL removes the remaining visible uses of the "architecture letter" concept. (They are no longer in tool names nor in source directory names.) Because the architecture letter concept is now gone, delete GOCHAR from "go env" output, and change go/build.ArchChar to return an error always. The architecture letter is still used in the compiler and linker sources as a clumsy architecture enumeration, but that use is not visible to Go users and can be cleaned up separately. Change-Id: I4d97a38f372003fb610c9c5241bea440d9dbeb8d Reviewed-on: https://go-review.googlesource.com/10289 Reviewed-by: Rob Pike <r@golang.org>
51 lines
1.0 KiB
Go
51 lines
1.0 KiB
Go
// +build !nacl,!windows
|
|
// run
|
|
|
|
// Copyright 2011 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
// Test that compiling with optimization turned on produces faster code.
|
|
|
|
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
"os/exec"
|
|
"path/filepath"
|
|
)
|
|
|
|
func main() {
|
|
err := os.Chdir(filepath.Join(".", "fixedbugs", "bug369.dir"))
|
|
check(err)
|
|
|
|
run("go", "tool", "compile", "-N", "-o", "slow.o", "pkg.go")
|
|
run("go", "tool", "compile", "-o", "fast.o", "pkg.go")
|
|
run("go", "tool", "compile", "-o", "main.o", "main.go")
|
|
run("go", "tool", "link", "-o", "a.exe", "main.o")
|
|
run("." + string(filepath.Separator) + "a.exe")
|
|
|
|
os.Remove("slow.o")
|
|
os.Remove("fast.o")
|
|
os.Remove("main.o")
|
|
os.Remove("a.exe")
|
|
}
|
|
|
|
func run(name string, args ...string) {
|
|
cmd := exec.Command(name, args...)
|
|
out, err := cmd.CombinedOutput()
|
|
if err != nil {
|
|
fmt.Println(string(out))
|
|
fmt.Println(err)
|
|
os.Exit(1)
|
|
}
|
|
}
|
|
|
|
func check(err error) {
|
|
if err != nil {
|
|
fmt.Println(err)
|
|
os.Exit(1)
|
|
}
|
|
}
|