compiler: Fix inconsistent check for structs using memcmp for ==.
authorIan Lance Taylor <ian@gcc.gnu.org>
Thu, 19 Sep 2013 17:32:56 +0000 (17:32 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Thu, 19 Sep 2013 17:32:56 +0000 (17:32 +0000)
Test is bug479.

From-SVN: r202751

gcc/go/gofrontend/expressions.cc
gcc/go/gofrontend/types.cc

index 0b01033..99edb4b 100644 (file)
@@ -7752,8 +7752,6 @@ Builtin_call_expression::do_numeric_constant_value(Numeric_constant* nc) const
        return false;
       if (arg_type->is_abstract())
        return false;
-      if (arg_type->named_type() != NULL)
-       arg_type->named_type()->convert(this->gogo_);
 
       unsigned int ret;
       if (this->code_ == BUILTIN_SIZEOF)
index 0e8f479..32f827d 100644 (file)
@@ -2288,9 +2288,7 @@ Type::is_backend_type_size_known(Gogo* gogo)
       }
 
     case TYPE_NAMED:
-      // Begin converting this type to the backend representation.
-      // This will create a placeholder if necessary.
-      this->get_backend(gogo);
+      this->named_type()->convert(gogo);
       return this->named_type()->is_named_backend_type_size_known();
 
     case TYPE_FORWARD: