diff options
author | Devon H. O'Dell <devon.odell@gmail.com> | 2009-12-23 09:26:21 -0800 |
---|---|---|
committer | Devon H. O'Dell <devon.odell@gmail.com> | 2009-12-23 09:26:21 -0800 |
commit | ba589d8b549d963ac1f70e4ef37739409ab40e78 (patch) | |
tree | 4d61229ca3adb80c0d4c52d286af7b166e7e477f | |
parent | 1f79677d8aba423cb5fa1b10e04b1e421fc4eeff (diff) | |
download | go-ba589d8b549d963ac1f70e4ef37739409ab40e78.tar.gz |
cgo: don't overwrite p.Crefs
It's expected to be shared between all files so that all types are output.
Fixes bug reported on mailing list by Peter Froehlich.
R=rsc, phf
CC=golang-dev
http://codereview.appspot.com/183043
Committer: Russ Cox <rsc@golang.org>
-rw-r--r-- | src/cmd/cgo/ast.go | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/cmd/cgo/ast.go b/src/cmd/cgo/ast.go index 76ff9ec65..c78d8bb8e 100644 --- a/src/cmd/cgo/ast.go +++ b/src/cmd/cgo/ast.go @@ -118,7 +118,9 @@ func openProg(name string, p *Prog) { } // Accumulate pointers to uses of C.x. - p.Crefs = make([]*Cref, 0, 8) + if p.Crefs == nil { + p.Crefs = make([]*Cref, 0, 8) + } walk(p.AST, p, "prog") } |