compiler: track placeholder pointer types for conversion

We recently started walking through the hash table of pointer types to
finalize them.  Unfortunately it is possible to create a new pointer
type while finalizing an existing one (test case: test/fixedbugs/issue5291)
and that breaks the iteration.  So, instead, keep a list of
placeholder pointer types, and iterate through them while permitting
the list to be extended as we go.

Change-Id: I1f2316fbfaa0e3ece802267050cb985c768b41ba
Reviewed-on: https://go-review.googlesource.com/51771
Reviewed-by: Than McIntosh <thanm@google.com>
2 files changed