2021-11-27 11:33:59 -07:00
|
|
|
// errorcheck
|
|
|
|
|
|
|
|
// Copyright 2020 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.
|
|
|
|
|
|
|
|
// Tests that errors are reported for misuse of linkname.
|
|
|
|
package p
|
|
|
|
|
|
|
|
import _ "unsafe"
|
|
|
|
|
|
|
|
type t int
|
|
|
|
|
|
|
|
var x, y int
|
|
|
|
|
2024-05-14 20:34:58 -06:00
|
|
|
func F[T any](T) {}
|
|
|
|
|
2021-11-27 11:33:59 -07:00
|
|
|
//go:linkname x ok
|
|
|
|
|
|
|
|
// ERROR "//go:linkname must refer to declared function or variable"
|
|
|
|
// ERROR "//go:linkname must refer to declared function or variable"
|
|
|
|
// ERROR "duplicate //go:linkname for x"
|
2024-05-14 20:34:58 -06:00
|
|
|
// ERROR "//go:linkname reference of an instantiation is not allowed"
|
2021-11-27 11:33:59 -07:00
|
|
|
|
2024-05-14 20:34:58 -06:00
|
|
|
//line linkname3.go:20
|
2021-11-27 11:33:59 -07:00
|
|
|
//go:linkname nonexist nonexist
|
|
|
|
//go:linkname t notvarfunc
|
|
|
|
//go:linkname x duplicate
|
2024-05-14 20:34:58 -06:00
|
|
|
//go:linkname i F[go.shape.int]
|