Commit b610a78b authored by Eric Clark's avatar Eric Clark Committed by Russ Cox

cgo: show preamble gcc errors

Fixes #1081

R=rsc
CC=golang-dev
https://golang.org/cl/2112046
parent dd0dec62
......@@ -204,6 +204,9 @@ func (p *Package) guessKinds(f *File) []*Name {
for _, line := range strings.Split(stderr, "\n", -1) {
if len(line) < 9 || line[0:9] != "cgo-test:" {
if len(line) > 8 && line[0:8] == "<stdin>:" {
fatal("gcc produced unexpected output:\n%s\non input:\n%s", line, b.Bytes())
}
continue
}
line = line[9:]
......@@ -439,8 +442,9 @@ func (p *Package) rewriteRef(f *File) {
case "type":
if r.Name.Kind != "type" {
error(r.Pos(), "expression C.%s used as type", r.Name.Go)
} else {
expr = r.Name.Type.Go
}
expr = r.Name.Type.Go
default:
if r.Name.Kind == "func" {
error(r.Pos(), "must call C.%s", r.Name.Go)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment