]> Cypherpunks repositories - gostls13.git/commitdiff
sync/atomic: suppress checkptr errors for hammerStoreLoadPointer
authorMatthew Dempsky <mdempsky@google.com>
Tue, 22 Oct 2019 00:06:02 +0000 (17:06 -0700)
committerMatthew Dempsky <mdempsky@google.com>
Tue, 22 Oct 2019 18:09:03 +0000 (18:09 +0000)
This test could be updated to use unsafe.Pointer arithmetic properly
(e.g., see discussion at #34972), but it doesn't seem worthwhile. The
test is just checking that LoadPointer and StorePointer are atomic.

Updates #34972.

Change-Id: I85a8d610c1766cd63136cae686aa8a240a362a18
Reviewed-on: https://go-review.googlesource.com/c/go/+/202597
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>

src/sync/atomic/atomic_test.go

index 135f02a726a17604380bc1594f9931807071619d..286eadc6cdf50f71ad67be28ce4cbddc8f5c4f94 100644 (file)
@@ -1140,6 +1140,9 @@ func hammerStoreLoadUintptr(t *testing.T, paddr unsafe.Pointer) {
        StoreUintptr(addr, new)
 }
 
+//go:nocheckptr
+// This code is just testing that LoadPointer/StorePointer operate
+// atomically; it's not actually calculating pointers.
 func hammerStoreLoadPointer(t *testing.T, paddr unsafe.Pointer) {
        addr := (*unsafe.Pointer)(paddr)
        v := uintptr(LoadPointer(addr))