compiler: build a single backend type for type alias

A type alias and its underlying type are identical. Build a
single backend type for them. Previously we build two backend
types, which sometimes confuse the backend's type system.

Also don't include type aliases into the list of named type
declarations, since they are not named types.

Change-Id: Id212aca9af2cf988c3733a6bf8e4b1aeed9bfe75
Reviewed-on: https://go-review.googlesource.com/123362
Reviewed-by: Ian Lance Taylor <iant@golang.org>
2 files changed