mirror of
https://github.com/golang/go
synced 2024-11-02 13:42:29 +00:00
2d136ae82e
This was a regression from 1.7. See the issue for details. Fixes #18149. Change-Id: Ic8f5a35d14edf9254b1275400316cff7aff32a27 Reviewed-on: https://go-review.googlesource.com/33799 Run-TryBot: Robert Griesemer <gri@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Gobot Gobot <gobot@golang.org>
33 lines
704 B
Go
33 lines
704 B
Go
// run
|
|
|
|
// Copyright 2016 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
// Verify that //line directives with filenames
|
|
// containing ':' (Windows) are correctly parsed.
|
|
// (For a related issue, see test/fixedbugs/bug305.go)
|
|
|
|
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"runtime"
|
|
)
|
|
|
|
func check(file string, line int) {
|
|
_, f, l, ok := runtime.Caller(1)
|
|
if !ok {
|
|
panic("runtime.Caller(1) failed")
|
|
}
|
|
if f != file || l != line {
|
|
panic(fmt.Sprintf("got %s:%d; want %s:%d", f, l, file, line))
|
|
}
|
|
}
|
|
|
|
func main() {
|
|
//line /foo/bar.go:123
|
|
check(`/foo/bar.go`, 123)
|
|
//line c:/foo/bar.go:987
|
|
check(`c:/foo/bar.go`, 987)
|
|
}
|