compiler: Don't make erroneous type descriptors.

There is no need to make type descriptors for named types when there
    are errors during package compilation.  Particularly, if the error in
    package compilation is from a malformed named type, there is no
    guarantee a type descriptor can be created.
    
    Fixes golang/go#11560.
    
    Reviewed-on: https://go-review.googlesource.com/12792

From-SVN: r226527
This commit is contained in:
Ian Lance Taylor 2015-08-03 18:53:56 +00:00
parent ca81dee392
commit f2fef1c8a3
2 changed files with 2 additions and 2 deletions

View file

@ -1,4 +1,4 @@
33d59eff1bd5de29f1fbde3b7625db28595835fd
2b1a79c6395991fc4e60e20312ff44065fdb816b
The first line of this file holds the git revision number of the last
merge done from the gofrontend repository.

View file

@ -7151,7 +7151,7 @@ Named_object::get_backend(Gogo* gogo, std::vector<Bexpression*>& const_decls,
// still be returned by some function. Simply calling the
// type_descriptor method is enough to create the type
// descriptor, even though we don't do anything with it.
if (this->package_ == NULL)
if (this->package_ == NULL && !saw_errors())
{
named_type->
type_descriptor_pointer(gogo, Linemap::predeclared_location());