-2c985e4781691fea3eb4171de85265bfbc4e4997
+19ff97ed3eb07d902bc4b3f97b21c4b6df834ad2
The first line of this file holds the git revision number of the last
merge done from the gofrontend repository.
// assignment.
Expression*
-Expression::convert_for_assignment(Gogo* gogo, Type* lhs_type,
+Expression::convert_for_assignment(Gogo*, Type* lhs_type,
Expression* rhs, Location location)
{
Type* rhs_type = rhs->type();
|| (lhs_type->array_type() != NULL
&& rhs_type->array_type() != NULL))
{
- // Avoid confusion from zero sized variables which may be
- // represented as non-zero-sized.
- // TODO(cmang): This check is for a GCC-specific issue, and should be
- // removed from the frontend. FIXME.
- int64_t lhs_size =
- gogo->backend()->type_size(lhs_type->get_backend(gogo));
- int64_t rhs_size =
- gogo->backend()->type_size(rhs_type->get_backend(gogo));
- if (rhs_size == 0 || lhs_size == 0)
- return rhs;
-
// This conversion must be permitted by Go, or we wouldn't have
// gotten here.
return Expression::make_unsafe_cast(lhs_type, rhs, location);