go/src/cmd/compile/internal/gc
Josh Bleecher Snyder 92363d52c0 cmd/compile: check width of embedded interfaces in expandiface
The code in #20162 contains an embedded interface.

It didn't get dowidth'd by the frontend,
and during DWARF generation, ngotype asked
for a string description of it,
which triggered a request for the number of fields
in the interface, which triggered a dowidth,
which is disallowed in the backend.

The other changes in this CL are to support the test.

Fixes #20162

Change-Id: I4d0be5bd949c361d4cdc89a8ed28b10977e40cf9
Reviewed-on: https://go-review.googlesource.com/42131
Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2017-04-28 20:07:38 +00:00
..
builtin cmd/compile: intrinsics for math/bits.OnesCount 2017-04-04 02:40:11 +00:00
testdata cmd/compile: remove underscore from variable names in constant comparison test 2017-04-17 18:30:01 +00:00
alg.go cmd/compile: move Node.Class to flags 2017-04-26 16:58:33 +00:00
align.go cmd/compile: check width of embedded interfaces in expandiface 2017-04-28 20:07:38 +00:00
asm_test.go cmd/compile: add rotates to PPC64.rules 2017-04-20 18:05:22 +00:00
bexport.go cmd/compile: move Node.Class to flags 2017-04-26 16:58:33 +00:00
bimport.go cmd/compile: improve efficiency of binary export position encoding 2017-04-25 17:42:19 +00:00
bitset.go cmd/compile: minor cleanup 2017-04-26 18:01:14 +00:00
bootstrap.go cmd/compile: add mutex profiling support 2017-04-05 22:10:54 +00:00
builtin.go cmd/compile: factor out Pkg, Sym, and Type into package types 2017-04-07 03:04:00 +00:00
builtin_test.go all: use testing.GoToolPath instead of "go" 2016-08-30 22:49:11 +00:00
bv.go cmd/compile: Fatal instead of panic in large bvbulkalloc 2017-04-03 23:28:29 +00:00
closure.go cmd/compile: move Used from gc.Node to gc.Name 2017-04-27 22:58:13 +00:00
const.go cmd/compile: do not print duplicate error on ideal->float{32,64} overflow 2017-04-12 21:00:15 +00:00
constFold_test.go cmd/compile: use std "DO NOT EDIT" comment for generated files 2017-03-31 18:50:40 +00:00
dcl.go cmd/compile: add initial backend concurrency support 2017-04-27 00:59:07 +00:00
esc.go cmd/compile: move Used from gc.Node to gc.Name 2017-04-27 22:58:13 +00:00
export.go cmd/compile: move Node.Class to flags 2017-04-26 16:58:33 +00:00
fixedbugs_test.go cmd/compile: inline convT2{I,E} when result doesn't escape 2016-09-19 02:37:08 +00:00
float_test.go cmd/compile: strength-reduce floating point 2017-04-03 21:27:03 +00:00
fmt.go cmd/compile: move Used from gc.Node to gc.Name 2017-04-27 22:58:13 +00:00
gen.go cmd/compile: move Used from gc.Node to gc.Name 2017-04-27 22:58:13 +00:00
global_test.go all: use testing.GoToolPath instead of "go" 2016-08-30 22:49:11 +00:00
go.go cmd/compile: add initial backend concurrency support 2017-04-27 00:59:07 +00:00
gsubr.go cmd/compile: move nodarg to walk.go 2017-04-27 19:08:26 +00:00
iface_test.go cmd/compile: inline convT2{I,E} when result doesn't escape 2016-09-19 02:37:08 +00:00
init.go cmd/compile: make node.Likely a flag 2017-04-26 00:02:24 +00:00
inl.go cmd/compile: move Used from gc.Node to gc.Name 2017-04-27 22:58:13 +00:00
lex.go cmd/internal/objabi: extract shared functionality from obj 2017-04-19 00:00:09 +00:00
lex_test.go cmd/compile: provide line number for cgo directive error (fix a TODO) 2017-02-02 21:24:50 +00:00
logic_test.go cmd/compile: add tests for logical simplification rewrite rules 2016-05-26 22:16:52 +00:00
main.go cmd/compile: check width of embedded interfaces in expandiface 2017-04-28 20:07:38 +00:00
mkbuiltin.go cmd/compile: factor out Pkg, Sym, and Type into package types 2017-04-07 03:04:00 +00:00
mpfloat.go cmd/compile: diagnose constant division by complex zero 2017-04-12 17:29:28 +00:00
mpint.go cmd/compile: use Fatalf for more internal errors 2017-03-14 17:58:38 +00:00
noder.go cmd/compile: move Used from gc.Node to gc.Name 2017-04-27 22:58:13 +00:00
norace.go cmd/compile: randomize compilation order when race-enabled 2017-04-27 19:27:22 +00:00
obj.go cmd/compile: add initial backend concurrency support 2017-04-27 00:59:07 +00:00
opnames.go cmd/compile: check loop rescheduling with stack bound, not counter 2017-03-08 18:52:12 +00:00
order.go cmd/compile: move Node.Class to flags 2017-04-26 16:58:33 +00:00
pgen.go cmd/compile: add sizeCalculationDisabled flag 2017-04-28 01:24:52 +00:00
pgen_test.go cmd/compile: move Used from gc.Node to gc.Name 2017-04-27 22:58:13 +00:00
phi.go cmd/compile: avoid infinite loops in dead blocks during phi insertion 2017-03-30 17:06:08 +00:00
plive.go cmd/compile: use a map to track liveness variable indices 2017-04-28 19:50:53 +00:00
pprof.go cmd/compile: add mutex profiling support 2017-04-05 22:10:54 +00:00
race.go cmd/compile: randomize compilation order when race-enabled 2017-04-27 19:27:22 +00:00
racewalk.go cmd/compile: move Node.Class to flags 2017-04-26 16:58:33 +00:00
range.go cmd/compile: move Node.Typecheck to flags 2017-04-26 01:27:28 +00:00
reflect.go cmd/compile: add initial backend concurrency support 2017-04-27 00:59:07 +00:00
reflect_test.go cmd/internal/obj: add SortSlice 2017-04-11 20:29:04 +00:00
select.go cmd/compile: move Node.Typecheck to flags 2017-04-26 01:27:28 +00:00
shift_test.go cmd/compile: test non-constant shifts 2016-06-01 00:06:00 +00:00
sinit.go cmd/compile: minor cleanup 2017-04-26 18:01:14 +00:00
sizeof_test.go cmd/compile: move Node.Class to flags 2017-04-26 16:58:33 +00:00
ssa.go cmd/compile: add sizeCalculationDisabled flag 2017-04-28 01:24:52 +00:00
ssa_test.go cmd/compile: fix s390x unsigned comparison constant merging rules 2017-04-13 18:35:11 +00:00
subr.go cmd/compile: add initial backend concurrency support 2017-04-27 00:59:07 +00:00
swt.go cmd/compile: move Node.Typecheck to flags 2017-04-26 01:27:28 +00:00
swt_test.go cmd/compile: reduce reliance on implementation details of Mpint 2017-04-07 17:08:34 +00:00
syntax.go cmd/compile: use a map to track liveness variable indices 2017-04-28 19:50:53 +00:00
timings.go cmd/compile: add compiler phase timing 2016-08-17 17:27:04 +00:00
trace.go cmd/compile/internal/gc: add runtime/trace support 2016-10-12 13:57:26 +00:00
truncconst_test.go cmd/compile: diagnose constant division by complex zero 2017-04-12 17:29:28 +00:00
typecheck.go cmd/compile: move Used from gc.Node to gc.Name 2017-04-27 22:58:13 +00:00
types.go cmd/compile/internal/types: remove Cmptmp 2017-04-07 22:11:36 +00:00
types_acc.go cmd/compile: factor out Pkg, Sym, and Type into package types 2017-04-07 03:04:00 +00:00
universe.go cmd/compile: move Used from gc.Node to gc.Name 2017-04-27 22:58:13 +00:00
unsafe.go cmd/compile: handle unsafe builtins like universal builtins 2016-10-18 22:34:44 +00:00
util.go cmd/compile: add mutex profiling support 2017-04-05 22:10:54 +00:00
walk.go cmd/compile: move Used from gc.Node to gc.Name 2017-04-27 22:58:13 +00:00