From: Ian Lance Taylor Date: Wed, 19 Jan 2011 05:38:41 +0000 (+0000) Subject: Don't crash using value of something with no value. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d4d2a98fb267ed59fad4a1d2e7bfe92ac7f6a071;p=gcc.git Don't crash using value of something with no value. From-SVN: r168982 --- diff --git a/gcc/go/gofrontend/types.cc b/gcc/go/gofrontend/types.cc index dd0a861d49f..840de2ba82f 100644 --- a/gcc/go/gofrontend/types.cc +++ b/gcc/go/gofrontend/types.cc @@ -482,6 +482,15 @@ bool Type::are_assignable(const Type* lhs, const Type* rhs, std::string* reason) { // Do some checks first. Make sure the types are defined. + if (rhs != NULL + && rhs->forwarded()->forward_declaration_type() == NULL + && rhs->is_void_type()) + { + if (reason != NULL) + *reason = "non-value used as value"; + return false; + } + if (lhs != NULL && lhs->forwarded()->forward_declaration_type() == NULL) { // Any value may be assigned to the blank identifier.