diff -r 16776952390a sys/src/cmd/1c/cgen.c --- a/sys/src/cmd/1c/cgen.c Tue Jun 18 13:29:29 2019 +0200 +++ b/sys/src/cmd/1c/cgen.c Wed Jun 19 14:09:29 2019 +0200 @@ -376,10 +376,7 @@ case OCAST: if(result == D_NONE) { - if(n->type != types[TVOID]) - nullwarn(l, Z); - else - cgen(l, D_NONE, Z); + cgen(l, D_NONE, Z); break; } lg = result; diff -r 16776952390a sys/src/cmd/2c/cgen.c --- a/sys/src/cmd/2c/cgen.c Tue Jun 18 13:29:29 2019 +0200 +++ b/sys/src/cmd/2c/cgen.c Wed Jun 19 14:09:29 2019 +0200 @@ -376,10 +376,7 @@ case OCAST: if(result == D_NONE) { - if(n->type != types[TVOID]) - nullwarn(l, Z); - else - cgen(l, D_NONE, Z); + cgen(l, D_NONE, Z); break; } lg = result; diff -r 16776952390a sys/src/cmd/5c/cgen.c --- a/sys/src/cmd/5c/cgen.c Tue Jun 18 13:29:29 2019 +0200 +++ b/sys/src/cmd/5c/cgen.c Wed Jun 19 14:09:29 2019 +0200 @@ -399,10 +399,7 @@ case OCAST: if(nn == Z) { - if(n->type != types[TVOID]) - nullwarn(l, Z); - else - cgen(l, Z); + cgen(l, Z); break; } /* @@ -927,7 +924,7 @@ case OCAST: if(nn == Z){ - nullwarn(l, Z); + cgen(l, Z); goto Out; } if(typeilp[n->type->etype] && typev[l->type->etype]){ diff -r 16776952390a sys/src/cmd/6c/cgen.c --- a/sys/src/cmd/6c/cgen.c Tue Jun 18 13:29:29 2019 +0200 +++ b/sys/src/cmd/6c/cgen.c Wed Jun 19 14:09:29 2019 +0200 @@ -976,10 +976,7 @@ case OCAST: if(nn == Z) { - if(n->type != types[TVOID]) - nullwarn(l, Z); - else - cgen(l, Z); + cgen(l, Z); break; } /* diff -r 16776952390a sys/src/cmd/7c/cgen.c --- a/sys/src/cmd/7c/cgen.c Tue Jun 18 13:29:29 2019 +0200 +++ b/sys/src/cmd/7c/cgen.c Wed Jun 19 14:09:29 2019 +0200 @@ -442,7 +442,7 @@ case OCAST: if(nn == Z) { - nullwarn(l, Z); + cgen(l, Z); break; } /* diff -r 16776952390a sys/src/cmd/8c/cgen.c --- a/sys/src/cmd/8c/cgen.c Tue Jun 18 13:29:29 2019 +0200 +++ b/sys/src/cmd/8c/cgen.c Wed Jun 19 14:09:29 2019 +0200 @@ -994,10 +994,7 @@ case OCAST: if(nn == Z) { - if(n->type != types[TVOID]) - nullwarn(l, Z); - else - cgen(l, Z); + cgen(l, Z); break; } /* diff -r 16776952390a sys/src/cmd/cc/com.c --- a/sys/src/cmd/cc/com.c Tue Jun 18 13:29:29 2019 +0200 +++ b/sys/src/cmd/cc/com.c Wed Jun 19 14:09:29 2019 +0200 @@ -1054,6 +1054,11 @@ case OCAST: ccom(l); + if(n->type == types[TVOID] && !side(l)){ + n->left = Z; + n->type = T; + break; + } if(l->op == OCONST) { evconst(n); if(n->op == OCONST) diff -r 16776952390a sys/src/cmd/kc/cgen.c --- a/sys/src/cmd/kc/cgen.c Tue Jun 18 13:29:29 2019 +0200 +++ b/sys/src/cmd/kc/cgen.c Wed Jun 19 14:09:29 2019 +0200 @@ -358,10 +358,7 @@ case OCAST: if(nn == Z) { - if(n->type != types[TVOID]) - nullwarn(l, Z); - else - cgen(l, Z); + cgen(l, Z); break; } /* diff -r 16776952390a sys/src/cmd/qc/cgen.c --- a/sys/src/cmd/qc/cgen.c Tue Jun 18 13:29:29 2019 +0200 +++ b/sys/src/cmd/qc/cgen.c Wed Jun 19 14:09:29 2019 +0200 @@ -395,10 +395,7 @@ case OCAST: if(nn == Z) { - if(n->type != types[TVOID]) - nullwarn(l, Z); - else - cgen(l, Z); + cgen(l, Z); break; } /* diff -r 16776952390a sys/src/cmd/vc/cgen.c --- a/sys/src/cmd/vc/cgen.c Tue Jun 18 13:29:29 2019 +0200 +++ b/sys/src/cmd/vc/cgen.c Wed Jun 19 14:09:29 2019 +0200 @@ -359,10 +359,7 @@ case OCAST: if(nn == Z) { - if(n->type != types[TVOID]) - nullwarn(l, Z); - else - cgen(l, Z); + cgen(l, Z); break; } /*