From f2fef1c8a3a93f320e9842d09a0ad44d0157281b Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Mon, 3 Aug 2015 18:53:56 +0000 Subject: [PATCH] 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 --- gcc/go/gofrontend/MERGE | 2 +- gcc/go/gofrontend/gogo.cc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) 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()); -- 2.30.2