mirror of
https://github.com/golang/go
synced 2024-11-12 05:40:22 -07:00
8ff4260777
Atomic ops on ARM are implemented with kernel calls, so they are not intrinsified. Change-Id: I0e7cc2e5526ae1a3d24b4b89be1bd13db071f8ef Reviewed-on: https://go-review.googlesource.com/28977 Run-TryBot: Cherry Zhang <cherryyz@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: David Chase <drchase@google.com>
21 lines
743 B
Go
21 lines
743 B
Go
// errorcheck -0 -d=ssa/intrinsics/debug
|
|
// +build amd64 arm64
|
|
|
|
// Copyright 2016 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package main
|
|
|
|
import "sync/atomic"
|
|
|
|
var x uint32
|
|
|
|
func atomics() {
|
|
_ = atomic.LoadUint32(&x) // ERROR "intrinsic substitution for LoadUint32"
|
|
atomic.StoreUint32(&x, 1) // ERROR "intrinsic substitution for StoreUint32"
|
|
atomic.AddUint32(&x, 1) // ERROR "intrinsic substitution for AddUint32"
|
|
atomic.SwapUint32(&x, 1) // ERROR "intrinsic substitution for SwapUint32"
|
|
atomic.CompareAndSwapUint32(&x, 1, 2) // ERROR "intrinsic substitution for CompareAndSwapUint32"
|
|
}
|