3 // Copyright 2020 The Go Authors. All rights reserved.
4 // Use of this source code is governed by a BSD-style
5 // license that can be found in the LICENSE file.
7 // Verify that misplaced directives are diagnosed.
12 //go:noinline // ERROR "misplaced compiler directive"
14 //go:noinline // ERROR "misplaced compiler directive"
17 //go:build bad // ERROR "misplaced compiler directive"
26 //go:noinline // ERROR "misplaced compiler directive"
28 //go:noinline // ERROR "misplaced compiler directive"
31 //go:noinline // ERROR "misplaced compiler directive"
34 //go:noinline // ERROR "misplaced compiler directive"
41 //go:notinheap // ERROR "misplaced compiler directive"
44 //go:noinline // ERROR "misplaced compiler directive"
45 T2 int //go:notinheap // ERROR "misplaced compiler directive"
49 //go:noinline // ERROR "misplaced compiler directive"
53 //go:notinheap // ERROR "misplaced compiler directive"
59 //go:notinheap // ERROR "misplaced compiler directive"
64 func g() {} //go:noinline // ERROR "misplaced compiler directive"
66 // ok: attached to f (duplicated yes, but ok)
71 //go:noinline // ERROR "misplaced compiler directive"
74 //go:noinline // ERROR "misplaced compiler directive"
76 _ = x //go:noinline // ERROR "misplaced compiler directive"
78 //go:noinline // ERROR "misplaced compiler directive"
79 var y int //go:noinline // ERROR "misplaced compiler directive"
80 //go:noinline // ERROR "misplaced compiler directive"
83 //go:noinline // ERROR "misplaced compiler directive"
86 //go:noinline // ERROR "misplaced compiler directive"
89 //go:noinline // ERROR "misplaced compiler directive"
95 // someday there might be a directive that can apply to type aliases, but go:notinheap doesn't.
96 //go:notinheap // ERROR "misplaced compiler directive"
100 //go:noinline // ERROR "misplaced compiler directive"
102 //go:build bad // ERROR "misplaced compiler directive"