compiler: permit converting unnamed types when ignoring struct tags
authorIan Lance Taylor <iant@golang.org>
Thu, 6 Jan 2022 04:57:14 +0000 (20:57 -0800)
committerIan Lance Taylor <iant@golang.org>
Thu, 6 Jan 2022 19:24:11 +0000 (11:24 -0800)
Test case is https://golang.org/cl/375796.

Fixes golang/go#50439

Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/375797

gcc/go/gofrontend/MERGE
gcc/go/gofrontend/types.cc

index a18f3a3..9cc6a1c 100644 (file)
@@ -1,4 +1,4 @@
-9732b0766667b9235d0f35d0fb0abfe406b94d49
+799e9807c36fc661b14dfff136369556f09a5ebf
 
 The first line of this file holds the git revision number of the last
 merge done from the gofrontend repository.
index 57c02a9..1c67ea0 100644 (file)
@@ -791,8 +791,7 @@ Type::are_convertible(const Type* lhs, const Type* rhs, std::string* reason)
 
   // The types are convertible if they have identical underlying
   // types, ignoring struct field tags.
-  if ((lhs->named_type() != NULL || rhs->named_type() != NULL)
-      && Type::are_identical(lhs->base(), rhs->base(), 0, reason))
+  if (Type::are_identical(lhs->base(), rhs->base(), 0, reason))
     return true;
 
   // The types are convertible if they are both unnamed pointer types