Browse Source

libclang: do not make error locations relative

This is done at a later time anyway, so doesn't need to be done in the
cgo package. In fact, _not_ doing it there makes it easier to print
correct relative packages.
pull/4342/head
Ayke van Laethem 4 months ago
committed by Ayke
parent
commit
b04b690842
  1. 7
      cgo/libclang.go
  2. 7
      testdata/errors/cgo.go

7
cgo/libclang.go

@ -646,13 +646,6 @@ func (p *cgoPackage) addErrorAfter(pos token.Pos, after, msg string) {
// addErrorAt is a utility function to add an error to the list of errors.
func (p *cgoPackage) addErrorAt(position token.Position, msg string) {
if filepath.IsAbs(position.Filename) {
// Relative paths for readability, like other Go parser errors.
relpath, err := filepath.Rel(p.currentDir, position.Filename)
if err == nil {
position.Filename = relpath
}
}
p.errors = append(p.errors, scanner.Error{
Pos: position,
Msg: msg,

7
testdata/errors/cgo.go

@ -7,9 +7,6 @@ import "C"
func main() {
}
// TODO: this error should be relative to the current directory (so cgo.go
// instead of testdata/errors/cgo.go).
// ERROR: # command-line-arguments
// ERROR: testdata/errors/cgo.go:3:5: error: hello
// ERROR: testdata/errors/cgo.go:4:4: error: expected identifier or '('
// ERROR: cgo.go:3:5: error: hello
// ERROR: cgo.go:4:4: error: expected identifier or '('

Loading…
Cancel
Save