|
2 | 2 |
|
3 | 3 | # -gcflags=-e applies to named packages, not dependencies
|
4 | 4 | go build -n -v -gcflags=-e z1 z2
|
5 |
| -stderr 'compile.* -e .*-p z1' |
6 |
| -stderr 'compile.* -e .*-p z2' |
| 5 | +stderr 'compile.* -e.* -p z1' |
| 6 | +stderr 'compile.* -e.* -p z2' |
7 | 7 | stderr 'compile.* -p y'
|
8 |
| -! stderr 'compile.* -e .*-p [^z]' |
| 8 | +! stderr 'compile.* -e.* -p [^z]' |
9 | 9 |
|
10 | 10 | # -gcflags can specify package=flags, and can be repeated; last match wins
|
11 | 11 | go build -n -v -gcflags=-e -gcflags=z1=-N z1 z2
|
12 |
| -stderr 'compile.* -N .*-p z1' |
13 |
| -! stderr 'compile.* -e .*-p z1' |
14 |
| -! stderr 'compile.* -N .*-p z2' |
15 |
| -stderr 'compile.* -e .*-p z2' |
| 12 | +stderr 'compile.* -N.* -p z1' |
| 13 | +! stderr 'compile.* -e.* -p z1' |
| 14 | +! stderr 'compile.* -N.* -p z2' |
| 15 | +stderr 'compile.* -e.* -p z2' |
16 | 16 | stderr 'compile.* -p y'
|
17 |
| -! stderr 'compile.* -e .*-p [^z]' |
18 |
| -! stderr 'compile.* -N .*-p [^z]' |
| 17 | +! stderr 'compile.* -e.* -p [^z]' |
| 18 | +! stderr 'compile.* -N.* -p [^z]' |
19 | 19 |
|
20 | 20 | # -gcflags can have arbitrary spaces around the flags
|
21 | 21 | go build -n -v -gcflags=' z1 = -e ' z1
|
22 |
| -stderr 'compile.* -e .*-p z1' |
| 22 | +stderr 'compile.* -e.* -p z1' |
| 23 | + |
| 24 | +# -gcflags='all=-e' should apply to all packages, even with go test |
| 25 | +go test -c -n -gcflags='all=-e' z1 |
| 26 | +stderr 'compile.* -e.* -p z3 ' |
23 | 27 |
|
24 | 28 | # -ldflags for implicit test package applies to test binary
|
25 | 29 | go test -c -n -gcflags=-N -ldflags=-X=x.y=z z1
|
@@ -58,11 +62,15 @@ import _ "z2"
|
58 | 62 | -- z1/z_test.go --
|
59 | 63 | package z1_test
|
60 | 64 | import "testing"
|
| 65 | +import _ "z3" |
61 | 66 | func Test(t *testing.T) {}
|
62 | 67 |
|
63 | 68 | -- z2/z.go --
|
64 | 69 | package z2
|
65 | 70 |
|
| 71 | +-- z3/z.go -- |
| 72 | +package z3 |
| 73 | + |
66 | 74 | -- y/y.go --
|
67 | 75 | package y
|
68 | 76 |
|
|
0 commit comments