Closed tamird closed 8 years ago
It looks like the issue you're running into is that build.GetInfo is declared in a file that uses cgo, and go/types doesn't really support cgo. Particularly not with -all
, because you would need C cross-compilers for all target platforms.
I think your two options are:
-all
, and then unconvert will enable cgo (at least according to CGO_ENABLED).I'm going to close since I think there's unfortunately nothing unconvert can do here, but happy to reopen if I'm overlooking anything.
Cheers!
Thanks for the reply. Even without -all
, things break in the presence of cgo, it seems?
$ unconvert ./...
/Users/tamird/src/go/src/github.com/cockroachdb/cockroach/storage/engine/rocksdb.go:364:22: unnecessary conversion
/Users/tamird/src/go/src/github.com/cockroachdb/cockroach/storage/engine/rocksdb.go:374:8: unnecessary conversion
/Users/tamird/src/go/src/github.com/cockroachdb/cockroach/storage/engine/rocksdb.go:512:4: unnecessary conversion
/Users/tamird/src/go/src/github.com/cockroachdb/cockroach/storage/engine/rocksdb.go:514:23: unnecessary conversion
/Users/tamird/src/go/src/github.com/cockroachdb/cockroach/storage/engine/rocksdb.go:588:14: unnecessary conversion
/Users/tamird/src/go/src/github.com/cockroachdb/cockroach/storage/engine/rocksdb.go:796:2: unnecessary conversion
/Users/tamird/src/go/src/github.com/cockroachdb/cockroach/storage/engine/rocksdb.go:825:32: unnecessary conversion
/Users/tamird/src/go/src/github.com/cockroachdb/cockroach/storage/engine/rocksdb.go:855:4: unnecessary conversion
/Users/tamird/src/go/src/github.com/cockroachdb/cockroach/storage/engine/rocksdb.go:889:27: unnecessary conversion
/Users/tamird/src/go/src/github.com/cockroachdb/cockroach/storage/engine/rocksdb.go:917:17: unnecessary conversion
/Users/tamird/src/go/src/github.com/cockroachdb/cockroach/storage/engine/rocksdb.go:984:27: unnecessary conversion
/Users/tamird/src/go/src/github.com/cockroachdb/cockroach/storage/engine/rocksdb.go:1039:8: unnecessary conversion
panic: illegal file offset
goroutine 1 [running]:
panic(0x250080, 0xc82fe25600)
/Users/tamird/src/go1.6/src/runtime/panic.go:481 +0x3e6
go/token.(*File).Pos(0xc8320f0c60, 0x9b2f, 0xc83a281d08)
/Users/tamird/src/go1.6/src/go/token/position.go:237 +0x78
main.print(0xc82accb2c0, 0x53, 0xc8320c1450)
/Users/tamird/src/go/src/github.com/mdempsky/unconvert/unconvert.go:120 +0x3ef
main.main()
/Users/tamird/src/go/src/github.com/mdempsky/unconvert/unconvert.go:220 +0x66b
Aside from the panic, all the reported issues appear to be false positives.
Yeah, those C.foo conversions look like false positives to me too.
Note that with #12 applied, I'm seeing https://github.com/mdempsky/unconvert/pull/12/files#diff-d45c7d690c87bd02c6ddd98b0dbd510fR113 fire - so it looks like maybe we're getting a real positive on the cgo-processed source which is not present in the original source.
unconvert github.com/cockroachdb/cockroach/...
now runs without crashing. Will followup on improving error precision in separate issues (e.g., #16).
Cool tool!
I tried it on cockroachdb/cockroach@ac79461: