| // skip | |
| // Copyright 2012 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 the -X facility of the gc linker (6l etc.). | |
| // This test is run by linkx_run.go. | |
| package main | |
| import "fmt" | |
| var tbd string | |
| var overwrite string = "dibs" | |
| var tbdcopy = tbd | |
| var overwritecopy = overwrite | |
| var arraycopy = [2]string{tbd, overwrite} | |
| var b bool | |
| var x int | |
| func main() { | |
| fmt.Println(tbd) | |
| fmt.Println(tbdcopy) | |
| fmt.Println(arraycopy[0]) | |
| fmt.Println(overwrite) | |
| fmt.Println(overwritecopy) | |
| fmt.Println(arraycopy[1]) | |
| // Check non-string symbols are not overwritten. | |
| // This also make them used. | |
| if b || x != 0 { | |
| panic("b or x overwritten") | |
| } | |
| } |