diff --git a/tccgen.c b/tccgen.c index 55befb16..d7f8c0d4 100644 --- a/tccgen.c +++ b/tccgen.c @@ -2523,10 +2523,13 @@ static void gen_assign_cast(CType *dt) case VT_LLONG: if (sbt == VT_PTR || sbt == VT_FUNC) { tcc_warning("assignment makes integer from pointer without a cast"); + } else if (sbt == VT_STRUCT) { + goto case_VT_STRUCT; } /* XXX: more tests */ break; case VT_STRUCT: + case_VT_STRUCT: tmp_type1 = *dt; tmp_type2 = *st; tmp_type1.t &= ~(VT_CONSTANT | VT_VOLATILE);