39 строки
1.7 KiB
Diff
39 строки
1.7 KiB
Diff
diff --git a/pkg/goversion/go_version.go b/pkg/goversion/go_version.go
|
|
index 5caf1b9bb..88a2d4e5c 100644
|
|
--- a/pkg/goversion/go_version.go
|
|
+++ b/pkg/goversion/go_version.go
|
|
@@ -155,11 +155,18 @@ func Installed() (GoVersion, bool) {
|
|
// or go version) is major.minor or a later version, or a development
|
|
// version.
|
|
func VersionAfterOrEqual(version string, major, minor int) bool {
|
|
+ return VersionAfterOrEqualRev(version, major, minor, -1)
|
|
+}
|
|
+
|
|
+// VersionAfterOrEqualRev checks that version (as returned by runtime.Version()
|
|
+// or go version) is major.minor or a later version, or a development
|
|
+// version.
|
|
+func VersionAfterOrEqualRev(version string, major, minor, rev int) bool {
|
|
ver, _ := Parse(version)
|
|
if ver.IsDevel() {
|
|
return true
|
|
}
|
|
- return ver.AfterOrEqual(GoVersion{major, minor, -1, 0, 0, ""})
|
|
+ return ver.AfterOrEqual(GoVersion{major, minor, rev, 0, 0, ""})
|
|
}
|
|
|
|
const producerVersionPrefix = "Go cmd/compile "
|
|
diff --git a/pkg/proc/proc_test.go b/pkg/proc/proc_test.go
|
|
index f33ddac37..92e6e38db 100644
|
|
--- a/pkg/proc/proc_test.go
|
|
+++ b/pkg/proc/proc_test.go
|
|
@@ -4804,7 +4804,8 @@ func TestStepIntoWrapperForEmbeddedPointer(t *testing.T) {
|
|
{contStepout, 29}})
|
|
|
|
// same test but with next instead of stepout
|
|
- if goversion.VersionAfterOrEqual(runtime.Version(), 1, 14) && runtime.GOARCH != "386" {
|
|
+ if goversion.VersionAfterOrEqual(runtime.Version(), 1, 14) && runtime.GOARCH != "386" && !goversion.VersionAfterOrEqualRev(runtime.Version(), 1, 15, 4) {
|
|
+ // Line numbers generated for versions 1.14 through 1.15.3 on any system except linux/386
|
|
testseq2(t, "ifaceembcall", "", []seqTest{
|
|
{contContinue, 28}, // main.main, the line calling iface.PtrReceiver()
|
|
{contStep, 18}, // main.(*A).PtrReceiver
|