2020-11-29 22:06:17 +00: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
|
|
|
|
|
|
|
|
//go:linkname x ok
|
|
|
|
|
|
|
|
// ERROR "//go:linkname requires linkname argument or -p compiler flag"
|
2020-12-02 06:11:56 +00:00
|
|
|
// BAD: want error "//go:linkname must refer to declared function or variable"
|
|
|
|
// BAD: want error "//go:linkname must refer to declared function or variable"
|
2020-11-29 22:06:17 +00:00
|
|
|
// ERROR "duplicate //go:linkname for x"
|
|
|
|
|
2020-12-02 06:11:56 +00:00
|
|
|
// The two BAD lines are just waiting for #42938 before we can
|
|
|
|
// re-enable the errors.
|
|
|
|
|
2020-11-29 22:06:17 +00:00
|
|
|
//line linkname2.go:18
|
|
|
|
//go:linkname y
|
|
|
|
//go:linkname nonexist nonexist
|
|
|
|
//go:linkname t notvarfunc
|
|
|
|
//go:linkname x duplicate
|