]> Cypherpunks repositories - gostls13.git/commit
cmd/cgo/internal/testsanitizers: avoid clang error in msan8.go
authorIan Lance Taylor <iant@golang.org>
Tue, 30 Jul 2024 18:48:10 +0000 (11:48 -0700)
committerGopher Robot <gobot@golang.org>
Tue, 30 Jul 2024 23:03:01 +0000 (23:03 +0000)
commit0b7cda77ca0d92040773913fbdcab4ee9b180ca6
tree22c5c376f2dcd246509aa0af9f137f94b876063a
parent96f71597056db8b90a445b03bbec229d9f5b4344
cmd/cgo/internal/testsanitizers: avoid clang error in msan8.go

In clang 16 the option -fsanitize-memory-param-retval was turned on by
default. That option causes MSAN to issue a warning when calling a
function with an uninitialized value. The msan8 test relies on being
able to do this, in order to get uninitialized values into registers.

This CL fixes the test by adding maybe_undef attributes that tell
clang that it's OK to pass an uninitialized variable. The docs for
maybe_undef say: "Please note that this is an attribute that is used as
an internal implementation detail and not intended to be used by
external users." So this may break in the future, but it does work for now.

Fixes #64616

Change-Id: I0ac8c0520fce8c32e26d2a5efb7ae5e02461c1ce
Reviewed-on: https://go-review.googlesource.com/c/go/+/601779
Auto-Submit: Ian Lance Taylor <iant@google.com>
Reviewed-by: Cherry Mui <cherryyz@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
src/cmd/cgo/internal/testsanitizers/testdata/msan8.go