aboutsummaryrefslogtreecommitdiff
path: root/tccgen.c
diff options
context:
space:
mode:
Diffstat (limited to 'tccgen.c')
-rw-r--r--tccgen.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/tccgen.c b/tccgen.c
index 55befb1..d7f8c0d 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);