bug fix: casts of constants to a set type caused memory fault

This commit is contained in:
ceriel 1990-01-18 10:12:38 +00:00
parent 7913b6800a
commit bcf2aa511c

View file

@ -1415,6 +1415,13 @@ ChkCast(expp)
if (arg->nd_class == Value) { if (arg->nd_class == Value) {
*expp = *arg; *expp = *arg;
free_node(arg); free_node(arg);
if (lefttype->tp_fund == T_SET) {
/* User deserves what he gets here ... */
arith val = expp->nd_INT;
expp->nd_set = MkSet((unsigned)(lefttype->tp_size));
expp->nd_set[0] = val;
}
} }
else { else {
expp->nd_symb = CAST; expp->nd_symb = CAST;