From dded58760d3e97907d9ee2d5c7b0252970508044 Mon Sep 17 00:00:00 2001 From: Matthew Dempsky Date: Thu, 17 Oct 2019 13:24:34 -0700 Subject: [PATCH] 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 --- src/cmd/compile/internal/gc/main.go | 5 +++++ 1 file changed, 5 insertions(+) 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 -- 2.51.0