Than McIntosh fce2a94d84 cmd/compile: fix buglet in inlined info abstract function dwarf-gen
When generating DWARF inlined info records, it's possible to have a
local function whose only callsites are inlined away, meaning that we
emit an abstract function DIE but no regular subprogram DIE. When
emitting DWARF scope info we need to handle this case (specifically
when scoping PCs, check for the case that the func in question has
been entirely deleted).

Fixes #44344.

Change-Id: I9f5bc692f225aa4c5c23f7bd2e50bcf7fe4fc5f3
Reviewed-on: https://go-review.googlesource.com/c/go/+/293309
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
Reviewed-by: Russ Cox <rsc@golang.org>
Trust: Than McIntosh <thanm@google.com>
Run-TryBot: Than McIntosh <thanm@google.com>
2021-02-19 14:46:21 +00:00
..
2019-03-06 18:53:12 +00:00
2019-09-08 17:28:20 +00:00
2020-12-03 16:28:44 +00:00
2018-10-06 15:40:03 +00:00
2015-07-11 14:36:33 +00:00
2015-07-11 14:36:33 +00:00
2020-11-28 02:31:54 +00:00
2020-04-13 21:56:15 +00:00
2019-09-08 17:28:20 +00:00
2018-04-30 19:39:18 +00:00
2019-09-08 17:28:20 +00:00
2020-11-28 02:31:54 +00:00
2020-11-28 02:31:54 +00:00
2019-11-01 20:13:05 +00:00
2020-11-28 02:31:54 +00:00
2020-12-03 16:28:44 +00:00
2018-11-27 15:36:08 +00:00
2018-11-26 14:13:53 +00:00
2019-09-08 17:28:20 +00:00
2018-03-01 21:11:16 +00:00
2018-12-03 16:48:21 +00:00
2019-09-08 17:28:20 +00:00

The test directory contains tests of the Go tool chain and runtime. It includes black box tests, regression tests, and error output tests. They are run as part of all.bash.

To run just these tests, execute:

../bin/go run run.go

To run just tests from specified files in this directory, execute:

../bin/go run run.go -- file1.go file2.go ...

Standard library tests should be written as regular Go tests in the appropriate package.

The tool chain and runtime also have regular Go tests in their packages. The main reasons to add a new test to this directory are:

  • it is most naturally expressed using the test runner; or
  • it is also applicable to gccgo and other Go tool chains.