From: Matthew Dempsky Date: Thu, 17 Oct 2019 20:24:34 +0000 (-0700) Subject: cmd/compile: enable -d=checkptr when -race or -msan is specified X-Git-Tag: go1.14beta1~619 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=dded58760d3e97907d9ee2d5c7b0252970508044;p=gostls13.git cmd/compile: enable -d=checkptr when -race or -msan is specified 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 TryBot-Result: Gobot Gobot Reviewed-by: Brad Fitzpatrick --- diff --git a/src/cmd/compile/internal/gc/main.go b/src/cmd/compile/internal/gc/main.go index 771b4fe973..51e9f0071a 100644 --- a/src/cmd/compile/internal/gc/main.go +++ b/src/cmd/compile/internal/gc/main.go @@ -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