]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/compile: enable -d=checkptr when -race or -msan is specified
authorMatthew Dempsky <mdempsky@google.com>
Thu, 17 Oct 2019 20:24:34 +0000 (13:24 -0700)
committerMatthew Dempsky <mdempsky@google.com>
Tue, 22 Oct 2019 23:28:20 +0000 (23:28 +0000)
It can still be manually disabled again using -d=checkptr=0.

It's also still disabled by default for GOOS=windows, because the
Windows standard library code has a lot of unsafe pointer conversions
that need updating.

Updates #34964.

Change-Id: Ie0b8b4fdf9761565e0dcb00d69997ad896ac233d
Reviewed-on: https://go-review.googlesource.com/c/go/+/201783
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
src/cmd/compile/internal/gc/main.go

index 771b4fe973f22556af0990a87f341ddf95359acb..51e9f0071a87256c5aaa81dc5f7fe511a859211b 100644 (file)
@@ -340,6 +340,11 @@ func Main(archInit func(*Arch)) {
        if flag_race && flag_msan {
                log.Fatal("cannot use both -race and -msan")
        }
+       if (flag_race || flag_msan) && objabi.GOOS != "windows" {
+               // -race and -msan imply -d=checkptr for now (except on windows).
+               // TODO(mdempsky): Re-evaluate before Go 1.14. See #34964.
+               Debug_checkptr = 1
+       }
        if ispkgin(omit_pkgs) {
                flag_race = false
                flag_msan = false