mirror of
https://github.com/golang/go
synced 2024-11-23 06:20:07 -07:00
cmd/go: prepend builtin prolog when checking for preamble errors
Fixes #50710 Change-Id: I62feddbe3eaae9605d196bec60d378614436603a Reviewed-on: https://go-review.googlesource.com/c/go/+/379754 Auto-Submit: Ian Lance Taylor <iant@google.com> Reviewed-by: Dmitri Shuralyov <dmitshur@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Run-TryBot: Ian Lance Taylor <iant@google.com> Reviewed-by: Ian Lance Taylor <iant@google.com> Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
This commit is contained in:
parent
41e1d9075e
commit
4f45ec5963
@ -112,6 +112,7 @@ func TestReportsTypeErrors(t *testing.T) {
|
|||||||
"issue18889.go",
|
"issue18889.go",
|
||||||
"issue28721.go",
|
"issue28721.go",
|
||||||
"issue33061.go",
|
"issue33061.go",
|
||||||
|
"issue50710.go",
|
||||||
} {
|
} {
|
||||||
check(t, file)
|
check(t, file)
|
||||||
}
|
}
|
||||||
|
14
misc/cgo/errors/testdata/issue50710.go
vendored
Normal file
14
misc/cgo/errors/testdata/issue50710.go
vendored
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
// Copyright 2022 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
|
||||||
|
|
||||||
|
// size_t StrLen(_GoString_ s) {
|
||||||
|
// return _GoStringLen(s);
|
||||||
|
// }
|
||||||
|
import "C"
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
C.StrLen1() // ERROR HERE
|
||||||
|
}
|
@ -488,7 +488,7 @@ func (p *Package) guessKinds(f *File) []*Name {
|
|||||||
// Check if compiling the preamble by itself causes any errors,
|
// Check if compiling the preamble by itself causes any errors,
|
||||||
// because the messages we've printed out so far aren't helpful
|
// because the messages we've printed out so far aren't helpful
|
||||||
// to users debugging preamble mistakes. See issue 8442.
|
// to users debugging preamble mistakes. See issue 8442.
|
||||||
preambleErrors := p.gccErrors([]byte(f.Preamble))
|
preambleErrors := p.gccErrors([]byte(builtinProlog + f.Preamble))
|
||||||
if len(preambleErrors) > 0 {
|
if len(preambleErrors) > 0 {
|
||||||
error_(token.NoPos, "\n%s errors for preamble:\n%s", gccBaseCmd[0], preambleErrors)
|
error_(token.NoPos, "\n%s errors for preamble:\n%s", gccBaseCmd[0], preambleErrors)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user