From: Ian Lance Taylor Date: Mon, 3 Aug 2015 18:53:56 +0000 (+0000) Subject: compiler: Don't make erroneous type descriptors. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f2fef1c8a3a93f320e9842d09a0ad44d0157281b;p=gcc.git 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 --- diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE index 5490d9f7fa9..e3a971a8e61 100644 --- a/gcc/go/gofrontend/MERGE +++ b/gcc/go/gofrontend/MERGE @@ -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. diff --git a/gcc/go/gofrontend/gogo.cc b/gcc/go/gofrontend/gogo.cc index 77b4d526507..52bec3dc6dd 100644 --- a/gcc/go/gofrontend/gogo.cc +++ b/gcc/go/gofrontend/gogo.cc @@ -7151,7 +7151,7 @@ Named_object::get_backend(Gogo* gogo, std::vector& 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());