This test verifies that we add an [os,arch] suffix to each diagnostic
that doesn't appear in the default build (=runtime.{GOOS,GOARCH}).
See golang/go#65496.
The two p/*.go files below are written to trigger the same diagnostic
(range, message, source, etc) but varying only by URI.
In the q test, a single location in the common code q.go has two
diagnostics, one of which is tagged.
This test would fail on openbsd/mips64 because it will be
the same as the default build, so we skip that platform.
-- flags --
-skip_goos=openbsd
-- go.mod --
module example.com
-- p/p.go --
package p
var _ fmt.Stringer //@diag("fmt", re"unde.*: fmt$")
-- p/p_openbsd_mips64.go --
package p
var _ fmt.Stringer //@diag("fmt", re"unde.*: fmt \\[openbsd,mips64\\]")
-- q/q_default.go --
//+build !openbsd && !mips64
package q
func f(int) int
-- q/q_openbsd_mips64.go --
package q
func f(string) int
-- q/q.go --
package q
var _ = f() //@ diag(")", re`.*want \(string\) \[openbsd,mips64\]`), diag(")", re`.*want \(int\)$`)