Vet issues a warning (non-error diagnostic) when, for example, it cannot check an assembly file because the Go and asm symbols are in different packages. The new analysis API has no concept of warnings: any diagnostic always causes a non-zero exit. This change turns the asmdecl diagnostics back into warnings using log.Print, which is not ideal, but is necessary to pacify cmd/vet/all and its whitelist during the transition. Better solutions would be for the new analysis API to have a concept of warning, or for asmdecl to be silent and cmd/vet/all's whitelist not to expect these messages. Also, fix a bug in the "cross-check" predicate: cmd/vet confuses the name of a package and its path. The a∕b∕c names (using Unicode division slash) that appear in assembly correspond directly to the path. The only effective test of this change will be cmd/vet/all itself. Change-Id: I2e402d48717df723e2efdc2379636ec9b204031d Reviewed-on: https://go-review.googlesource.com/c/149598 Reviewed-by: Daniel Martí <mvdan@mvdan.cc> Reviewed-by: Michael Matloob <matloob@golang.org> |
||
|---|---|---|
| .. | ||
| analysis | ||
| ast | ||
| buildutil | ||
| callgraph | ||
| cfg | ||
| expect | ||
| gccgoexportdata | ||
| gcexportdata | ||
| internal | ||
| loader | ||
| packages | ||
| pointer | ||
| ssa | ||
| types | ||
| vcs | ||